John Maddock
I still haven't got an authorative answer whether it should be Boost.Test that builds with /EHa (so that it can catch SEH exception), or whether client code with tests be built with /EHa (so that it converts SEH exceptions into C++ exceptions) or something else.
I suspect both. Certainly if I build Boost.Test without /EHa I see:
execution_monitor.cpp 1>m:\data\boost\boost\boost\test\impl\execution_monitor.ipp(948): warning C4535: calling _set_se_translator() requires /EHa
Then if you want it to translate structured exceptions in your test code you'll need /EHa there as well presumably.
This is my understanding as well. We do not really care as much about /EHa in libraries UTF depends on. Unless someone from MS dev team can contradict this, I believe this is what we need. As far as I know Boost.Build and according to my recollection, this is was an intention form the very beginning. Clients were required to be build with /EHa as well and that is enforced through the requirements section in Boost.Build rule. Gennadiy