$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r68472 - trunk/boost/config/compiler
From: john_at_[hidden]
Date: 2011-01-27 06:47:12
Author: johnmaddock
Date: 2011-01-27 06:47:11 EST (Thu, 27 Jan 2011)
New Revision: 68472
URL: http://svn.boost.org/trac/boost/changeset/68472
Log:
Fix up Intel C++0x features.
Fixes #5112.
Text files modified: 
   trunk/boost/config/compiler/intel.hpp |    36 +++++++++++++++++++++---------------    
   1 files changed, 21 insertions(+), 15 deletions(-)
Modified: trunk/boost/config/compiler/intel.hpp
==============================================================================
--- trunk/boost/config/compiler/intel.hpp	(original)
+++ trunk/boost/config/compiler/intel.hpp	2011-01-27 06:47:11 EST (Thu, 27 Jan 2011)
@@ -27,14 +27,11 @@
 #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__)
-#    define BOOST_INTEL_STDCXX0X
-#  endif
-#elif (BOOST_INTEL_CXX_VERSION >= 1100)
-#  if defined(__GXX_EXPERIMENTAL_CPP0X__)
-#    define BOOST_INTEL_STDCXX0X
-#  endif
+#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && __STDC_HOSTED__) || defined(__GXX_EXPERIMENTAL_CPP0X__)
+#  define BOOST_INTEL_STDCXX0X
+#endif
+#if defined(_MSC_VER) && (_MSC_VER >= 1600)
+#  define BOOST_INTEL_STDCXX0X
 #endif
 
 #ifdef BOOST_INTEL_STDCXX0X
@@ -114,7 +111,7 @@
 #     define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 #  endif
 #endif
-#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1110)
+#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1200)
 // GCC or VC emulation:
 #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
 #endif
@@ -200,16 +197,25 @@
 //
 #if defined(BOOST_INTEL_STDCXX0X)
 #  undef  BOOST_NO_STATIC_ASSERT
-#  define BOOST_HAS_STATIC_ASSERT
-#endif
 //
-//      - decltype and && did not work properly before version 12.0
+// These pass our test cases, but aren't officially supported according to:
+// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
 //
+//#  undef  BOOST_NO_LAMBDAS
+//#  undef  BOOST_NO_DECLTYPE
+//#  undef  BOOST_NO_AUTO_DECLARATIONS
+//#  undef  BOOST_NO_AUTO_MULTIDECLARATIONS
+#endif
+
 #if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200)
-#  undef  BOOST_NO_DECLTYPE
 #  undef  BOOST_NO_RVALUE_REFERENCES
-#  define BOOST_HAS_DECLTYPE
-#  define BOOST_HAS_RVALUE_REFS
+#  undef  BOOST_NO_SCOPED_ENUMS
+#  undef  BOOST_NO_DELETED_FUNCTIONS
+#  undef  BOOST_NO_DEFAULTED_FUNCTIONS
+#  undef  BOOST_NO_LAMBDAS
+#  undef  BOOST_NO_DECLTYPE
+#  undef  BOOST_NO_AUTO_DECLARATIONS
+#  undef  BOOST_NO_AUTO_MULTIDECLARATIONS
 #endif
 
 //