|
Boost : |
Subject: Re: [boost] Running b2 on develop needs asynch-exceptions=on
From: Daniela Engert (dani_at_[hidden])
Date: 2015-03-17 15:08:17
Am 17.03.2015 um 19:18 schrieb Steven Watanabe:
>> What about the warning from execution_monitor.cpp saying that /EHa *is*
>> required?
>
> It isn't required. First of all, _set_se_translator
> requires /EHa at the /catch/ site, not when it is called.
> If /EHa is not enabled at the catch site, _set_se_translator
> has no effect. Boost.Test only uses _set_se_translator
> to neutralize one of the effects of /EHa, so it's actually
> perfectly okay.
Exactly. I've been using _set_se_translator in various projects in the
past and I never had to build with /EHa except for the tiny fraction of
code at the catch site. C++ exceptions are nothing but Windows
structured exceptions with a special tag. Therefore it doesn't matter at
all which build option is used at the throw site. You can even get away
without the /EHa and _set_se_translator shebang if you stick with
__try/__except and cast the exception info into a std::exception_ptr or
do whatever else you have to.
Ciao
Dani
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk