|
Boost-Build : |
From: Reece Dunn (msclrhd_at_[hidden])
Date: 2006-03-15 03:18:00
Volodya wrote:
> That OP is unclear in the following respects:
>
> 1. What does it mean for msvc toolset to "specify /EHa option"? Do you mean
> that toolset does not provide a feature that translates to /EHa. You
> certainly can use <cxxflags>/EHa at the moment.
/EHa is used for Windows Structured Exception Handling (SEH) to allow trapping and processing of access violations and the like.
> 2. Why unit test framework has to be compiled with this option, and what
> problem will you get if it's not compiled with it.
I assume it is because it is processing SEHs.
Q: Is it possible to move the SEH logic into a CPP file and only use the SEH option for that file?
Q: How do asynchronous exceptions interact with C++ exceptions? If you are using C++ exceptions that require /EHs in a file that you want to test, will that work?
> 3. Should that flag be added only for complication of unit test framework, all
> Boost.Test, or all programs that use the unit test framework.
It depends where SEHs are being used. The Microsoft compiler will issue a warning if the wrong /EH option is being used.
> In fact, V2 Jamfile has the following line:
>
> <toolset>msvc:<asynch-exceptions>on
>
> which probably has something to do with /EHa, but without further information,
> or testing on your end, I can't really say if that's what you want, or not.
That adds the correct /EHa option. Dave did the work a while ago to add this support in V2.
- Reece
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk