
"David Abrahams" <dave@boost-consulting.com> wrote:
The logic used here seems to be completely and totally broken. Was it even tested?
config/compiler/intel.hpp first says:
#if BOOST_INTEL_CXX_VERSION < 700 # define BOOST_NO_INTRINSIC_WCHAR_T #else ... #endif
So if I have intel6, BOOST_NO_INTRINSIC_WCHAR_T is now set. Then config/compiler/intel.hpp goes on to say:
#if defined(BOOST_NO_INTRINSIC_WCHAR_T) #include <cwchar> template< typename T > struct assert_no_intrinsic_wchar_t; template<> struct assert_no_intrinsic_wchar_t<wchar_t> { typedef void type; }; // if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T: typedef assert_no_intrinsic_wchar_t<unsigned short>::type assert_no_intrinsic_wchar_t_; #else ... #endif
Seems it should be #if !(defined BOOST_NO_INTRINSIC_WCHAR_T) ... The checking code is new (not shipped in 1.31.0). /Pavel