Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2003-09-23 05:52:28


"carlos pizano" <carlospizano_at_[hidden]> writes:

>> In the article. Did you read it? I hope I don't need to provide the
>> link again.
>
> I did. It is good info. IMHO you should state there that your technique
> does not need /EHa. People like me tend to believe their compilers/books
> too much.

Good idea; I'll add that info.

>>> I hope I can get the attention of the maintainer of boost.test and
>>> that he/she feels like thinking.
>> ...but there's no need to patronize.
>
> I did not meant to come across like that. Sorry.

No prob.

> Now that I get that your technique is all about JIT Debugging, the
> problem is that there are two possible translators in execution_monitor:
>
> void
> ms_se_trans_func( unsigned int id, _EXCEPTION_POINTERS* /* exps */ )
> {
> throw ms_se_exception( id );
> }
>
> void
> ms_se_forward_func( unsigned int /* id */, _EXCEPTION_POINTERS* /* exps
> */ )
> {
> throw;
> }
>
> Which one is used depends on the bool catch_system_errors, if true the
> first one is used. That first one is not about JIT debugging because
> there is an enclosing catch block:

<snip>

> See my problem? the code expects to catch ms_se_exception. Looks like an
> error under /EHs.

Yes, that's a big problem. But then, I don't believe ms_se_trans_func
should ever be used, at least not by a general purpose testing library
like this one.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk