Boost logo

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!

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at