
No, clearly not. The code above checks that wchar_t == unsigned short, and causes an error otherwise. That corresponds to not having an intrinsic wchar_t. Anyway, if you changed the condition and the assertion fired in the other branch of the #if, we'd have the same problem.
The checking code is new (not shipped in 1.31.0).
I know that, and I don't mean to sound harsh, but really that's no excuse. Before stuff like this is checked in, it needs to be tested, since it affects all boost developers using that compiler.
It *was* tested with Intel 7 and Intel 8, and does exactly what it's supposed to do with those compilers. Intel 6 wasn't tested because I don't have access to that compiler - it's not even supported by Intel any more is it? BTW the offending code: #if BOOST_INTEL_CXX_VERSION < 700 # define BOOST_NO_INTRINSIC_WCHAR_T #else Has been in cvs for a long time, it was checked in with: Revision 1.23 - (download), view (text) (markup) (annotate) - [select for diffs] Sun Jun 1 18:06:27 2003 UTC (11 months, 2 weeks ago) by beman_dawes Changes since 1.22: +1 -1 lines Diff to previous 1.22 BOOST_NO_INTRINSIC_WCHAR_T now correct for 7.0 on Win32, based on config_info report The only difference is that the code now checks to verify that it is correct - in other words we're detecting an error that previously went unnoticed unless you tried including type_traits/*.hpp or something. John.