Opened 11 years ago

Closed 11 years ago

#5878 closed Bugs (fixed)

Detection of C++0x features broken with latest Intel compiler

Reported by: sansottera@… 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:

#if (!(defined(_WIN32)
defined(_WIN64)) && defined(GXX_EXPERIMENTAL_CPP0X))

# define BOOST_INTEL_STDCXX0X #endif

Change History (2)

comment:1 by John Maddock, 11 years ago

(In [74573]) Tentative fox for C++0x detection in Intel 12.1 and later. Refs #5941. Refs #5878.

comment:2 by John Maddock, 11 years ago

Resolution: fixed
Status: newclosed

(In [74889]) Merge Boost.Config changes from Trunk - numerous small bug fixes plus a new Cray C++ config. Fixes #5607. Fixes #5941. Fixes #5878.

Note: See TracTickets for help on using tickets.