forked from boostorg/config
Preliminary C++0x support
[SVN r36149]
This commit is contained in:
@@ -82,7 +82,41 @@
|
||||
#define BOOST_HAS_NRVO
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "GNU C++ version " __VERSION__
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)
|
||||
// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
|
||||
// passed on the command line, which in turn defines
|
||||
// __GXX_EXPERIMENTAL_CXX0X__. Note: __GXX_EXPERIMENTAL_CPP0X__ is
|
||||
// defined by some very early development versions of GCC 4.3; we will
|
||||
// remove this part of the check in the near future.
|
||||
# if defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define BOOST_CXX0X_PREPROCESSOR
|
||||
# define BOOST_CXX0X_STATIC_ASSERT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Potential C++0x features
|
||||
//
|
||||
|
||||
// Variadic templates compiler:
|
||||
// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
|
||||
#ifdef __VARIADIC_TEMPLATES
|
||||
# define BOOST_CXX0X_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
|
||||
// ConceptGCC compiler:
|
||||
// http://www.generic-programming.org/software/ConceptGCC/
|
||||
#ifdef __GXX_CONCEPTS__
|
||||
# define BOOST_CXX0X_CONCEPTS
|
||||
# define "ConceptGCC version " __VERSION__
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "GNU C++ version " __VERSION__
|
||||
#endif
|
||||
|
||||
//
|
||||
// versions check:
|
||||
@@ -91,8 +125,8 @@
|
||||
# error "Compiler not configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 4.0 (Pre-release):
|
||||
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 0))
|
||||
// last known and checked version is 4.3 (Pre-release):
|
||||
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 3))
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
|
||||
@@ -38,6 +38,16 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// BOOST_HAS_LONG_LONG implies BOOST_CXX0X_LONG_LONG, and vice-versa
|
||||
#if defined(BOOST_HAS_LONG_LONG) || defined(BOOST_CXX0X_LONG_LONG)
|
||||
# ifndef BOOST_HAS_LONG_LONG
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
# endif
|
||||
# ifndef BOOST_CXX0X_LONG_LONG
|
||||
# define BOOST_CXX0X_LONG_LONG
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// GCC 3.x will clean up all of those nasty macro definitions that
|
||||
// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine
|
||||
// it under GCC 3.x.
|
||||
|
||||
Reference in New Issue
Block a user