*** intel.hpp.orig 2011-01-23 13:59:12.000000000 +0000 --- intel.hpp 2011-01-23 23:27:06.000000000 +0000 *************** *** 35,40 **** --- 35,58 ---- # define BOOST_INTEL_LINUX BOOST_INTEL #endif + // Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x' + #if (BOOST_INTEL_CXX_VERSION >= 1200) + # if defined(BOOST_INTEL_LINUX) && defined(__STDC_HOSTED__) || defined(BOOST_INTEL_WIN) && !defined(_MSC_EXTENSIONS) + # define BOOST_INTEL_STDCXX0X + # endif + #elif (BOOST_INTEL_CXX_VERSION >= 1100) + # if defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(BOOST_INTEL_WIN) && !defined(_MSC_EXTENSIONS) + # define BOOST_INTEL_STDCXX0X + # endif + #endif + + #if defined(BOOST_INTEL_STDCXX0X) && !defined(BOOST_COMPILER_PREFIX) + # define BOOST_COMPILER_PREFIX BOOST_COMPILER + # undef BOOST_COMPILER + # define BOOST_COMPILER BOOST_COMPILER_PREFIX " (C++0x mode)" + # undef BOOST_COMPILER_PREFIX + #endif + #if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER) # define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS # define BOOST_NO_TEMPLATE_TEMPLATES *************** *** 181,186 **** --- 199,224 ---- #endif // + // C++0x features + // - ICC added static_assert in 11.0 (first version with C++0x support) + // + #if defined(BOOST_INTEL_STDCXX0X) + # define BOOST_HAS_STATIC_ASSERT + #else + # define BOOST_NO_STATIC_ASSERT + #endif + // + // - decltype and && did not work properly before version 12.0 + // + #if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200) + # define BOOST_HAS_DECLTYPE + # define BOOST_HAS_RVALUE_REFS + #else + # define BOOST_NO_DECLTYPE + # define BOOST_NO_RVALUE_REFERENCES + #endif + + // // last known and checked version: #if (BOOST_INTEL_CXX_VERSION > 1110) # if defined(BOOST_ASSERT_CONFIG)