Opened 11 years ago
Closed 11 years ago
#5878 closed Bugs (fixed)
Detection of C++0x features broken with latest Intel compiler
Reported by: | Owned by: | John Maddock | |
---|---|---|---|
Milestone: | To Be Determined | Component: | config |
Version: | Boost 1.47.0 | Severity: | Showstopper |
Keywords: | Cc: |
Description
prompt$ icpc -v icpc version 12.1.0 (gcc version 4.4.5 compatibility)
Detection of C++0x features should *NOT* be base on STDC_HOSTED but on GXX_EXPERIMENTAL_CXX0X.
prompt$ icpc -dM -E test.cpp | grep CXX0X #define GTHREADS_CXX0X 1
prompt$ icpc -std=c++0x -dM -E test.cpp | grep CXX0X #define GXX_EXPERIMENTAL_CXX0X 1 #define GTHREADS_CXX0X 1
prompt$ icpc -dM -E test.cpp | grep STDC_HOSTED #define STDC_HOSTED 1
prompt$ icpc -std=c++0x -dM -E test.cpp | grep STDC_HOSTED #define STDC_HOSTED 1
I classify this bug as showstopper since it prevents boost from compiling unless the user messes with boost's source code. The fix to apply is in boost/config/compiler/intel.hpp. The correct detection code should be:
defined(_WIN64)) && defined(GXX_EXPERIMENTAL_CPP0X)) |
# define BOOST_INTEL_STDCXX0X #endif
(In [74573]) Tentative fox for C++0x detection in Intel 12.1 and later. Refs #5941. Refs #5878.