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:


> 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

Boost list run by bdawes at, gregod at, cpdaniel at, john at