RE: [Boost-users] Config question: BOOST_NO_INTRINSIC_WCHAR_T (Intel7.1)
Christopher D. Russell
I'm just getting around to upgrade to Boost 1_31_0 from Boost 1_30_0. I'm attempting to use 1_31_0 out-of-the-box (w/no bjam) but am confused about how to resolve problems related to native wchar_t support (or lack thereof). <snip error messages> ... tracked back into .../1_31_0/boost/type_traits/is_integral.hpp
#ifndef BOOST_NO_INTRINSIC_WCHAR_T BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,wchar_t,true) #endif
... where BOOST_NO_INTRINSIC_WCHAR_T is defined in ../1_31_0/boost/config/compiler/intel.hpp
// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 #if BOOST_INTEL_CXX_VERSION < 700 # define BOOST_NO_INTRINSIC_WCHAR_T #else // _WCHAR_T_DEFINED is the Win32 spelling // _WCHAR_T is the Linux spelling # if !defined(_WCHAR_T_DEFINED) && !defined(_WCHAR_T) # define BOOST_NO_INTRINSIC_WCHAR_T # endif #endif <snip>
Since Intel C++ on Windows is supposed to be compatible with Visual C++ I think this should be testing _NATIVE_WCHAR_T_DEFINED and not _WCHAR_T_DEFINED. VC++ defines the latter if wchar_t is an intrinsic type *or* a type alias but it defines the former only if wchar_t is an intrinsic type. I couldn't find any detailed documentation for Intel C++ online so I don't know if it is exactly compatible in this respect.
participants (1)
-
Ben Hutchings