2001-09-18 11:13:39 +00:00
|
|
|
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
|
|
|
|
// distribute this software is granted provided this copyright notice appears
|
|
|
|
// in all copies. This software is provided "as is" without express or implied
|
|
|
|
// warranty, and with no claim as to its suitability for any purpose.
|
|
|
|
|
|
|
|
// See http://www.boost.org for most recent version.
|
|
|
|
|
|
|
|
// Intel compiler setup:
|
|
|
|
|
|
|
|
#include "boost/config/compiler/common_edg.hpp"
|
|
|
|
|
2003-05-23 07:03:21 +00:00
|
|
|
#if defined(__INTEL_COMPILER)
|
|
|
|
# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
|
|
|
|
#elif defined(__ICL)
|
2001-09-18 11:13:39 +00:00
|
|
|
# define BOOST_INTEL_CXX_VERSION __ICL
|
2003-05-23 07:03:21 +00:00
|
|
|
#elif defined(__ICC)
|
2001-09-18 11:13:39 +00:00
|
|
|
# define BOOST_INTEL_CXX_VERSION __ICC
|
2003-05-23 07:03:21 +00:00
|
|
|
#elif defined(__ECC)
|
|
|
|
# define BOOST_INTEL_CXX_VERSION __ECC
|
2001-09-18 11:13:39 +00:00
|
|
|
#endif
|
|
|
|
|
2003-05-23 07:03:21 +00:00
|
|
|
#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
|
|
|
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
|
|
|
|
|
2001-10-21 11:01:10 +00:00
|
|
|
#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER)
|
|
|
|
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
|
2002-09-30 05:03:47 +00:00
|
|
|
# define BOOST_NO_TEMPLATE_TEMPLATES
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (BOOST_INTEL_CXX_VERSION <= 600) || !defined(BOOST_STRICT_CONFIG)
|
2001-09-19 11:48:51 +00:00
|
|
|
|
2001-12-01 13:19:05 +00:00
|
|
|
# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)
|
|
|
|
|
2001-09-19 11:48:51 +00:00
|
|
|
// Intel C++ 5.0.1 uses EDG 2.45, but fails to activate Koenig lookup
|
2001-10-21 11:01:10 +00:00
|
|
|
// in the frontend even in "strict" mode, unless you use
|
2001-10-24 15:58:01 +00:00
|
|
|
// -Qoption,cpp,--arg_dep_lookup. (reported by Kirk Klobe & Thomas Witt)
|
|
|
|
// Similarly, -Qoption,cpp,--new_for_init enables new-style "for" loop
|
|
|
|
// variable scoping. (reported by Thomas Witt)
|
2001-09-19 11:48:51 +00:00
|
|
|
// Intel C++ 6.0 (currently in Beta test) doesn't have any front-end
|
|
|
|
// changes at all. (reported by Kirk Klobe)
|
2002-09-16 20:09:04 +00:00
|
|
|
// That can't be right, since it supports template template
|
|
|
|
// arguments (reported by Dave Abrahams)
|
2001-09-19 11:48:51 +00:00
|
|
|
# ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
|
|
|
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
|
|
|
# endif
|
|
|
|
# define BOOST_NO_SWPRINTF
|
2001-09-18 11:13:39 +00:00
|
|
|
# endif
|
|
|
|
|
2001-12-01 13:19:05 +00:00
|
|
|
// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov)
|
|
|
|
|
|
|
|
# if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
|
|
|
# define BOOST_NO_VOID_RETURNS
|
|
|
|
# define BOOST_NO_INTEGRAL_INT64_T
|
|
|
|
# endif
|
|
|
|
|
2001-09-18 11:13:39 +00:00
|
|
|
#endif
|
|
|
|
|
2002-05-09 11:40:52 +00:00
|
|
|
#if _MSC_VER+0 >= 1000
|
2003-06-01 18:06:27 +00:00
|
|
|
# if !defined(_NATIVE_WCHAR_T_DEFINED) && !defined(_WCHAR_T_DEFINED)
|
2001-09-18 11:13:39 +00:00
|
|
|
# define BOOST_NO_INTRINSIC_WCHAR_T
|
|
|
|
# endif
|
2002-05-07 11:24:29 +00:00
|
|
|
# if _MSC_VER >= 1200
|
|
|
|
# define BOOST_HAS_MS_INT64
|
|
|
|
# endif
|
2001-09-18 11:13:39 +00:00
|
|
|
# define BOOST_NO_SWPRINTF
|
2002-05-09 11:40:52 +00:00
|
|
|
#elif defined(_WIN32)
|
|
|
|
# define BOOST_DISABLE_WIN32
|
2001-09-18 11:13:39 +00:00
|
|
|
#endif
|
|
|
|
|
2002-11-04 01:59:32 +00:00
|
|
|
// I checked version 6.0 build 020312Z, it implements the NRVO.
|
|
|
|
// Correct this as you find out which version of the compiler
|
|
|
|
// implemented the NRVO first. (Daniel Frey)
|
|
|
|
#if (BOOST_INTEL_CXX_VERSION >= 600)
|
|
|
|
# define BOOST_HAS_NRVO
|
|
|
|
#endif
|
2001-09-18 11:13:39 +00:00
|
|
|
|
|
|
|
//
|
|
|
|
// versions check:
|
|
|
|
// we don't support Intel prior to version 5.0:
|
|
|
|
#if BOOST_INTEL_CXX_VERSION < 500
|
|
|
|
# error "Compiler not supported or configured - please reconfigure"
|
|
|
|
#endif
|
|
|
|
//
|
2002-12-23 19:49:22 +00:00
|
|
|
// last known and checked version:
|
|
|
|
#if (BOOST_INTEL_CXX_VERSION > 700)
|
2001-09-18 11:13:39 +00:00
|
|
|
# if defined(BOOST_ASSERT_CONFIG)
|
|
|
|
# error "Unknown compiler version - please run the configure tests and report the results"
|
|
|
|
# elif defined(_MSC_VER)
|
2002-05-09 11:40:52 +00:00
|
|
|
# pragma message("Unknown compiler version - please run the configure tests and report the results")
|
2001-09-18 11:13:39 +00:00
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
2001-10-21 11:01:10 +00:00
|
|
|
|
2001-10-25 11:47:17 +00:00
|
|
|
|