|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r69624 - in branches/release: boost/config boost/config/compiler boost/config/platform boost/config/stdlib libs/config libs/config/doc libs/config/test
From: john_at_[hidden]
Date: 2011-03-07 08:07:34
Author: johnmaddock
Date: 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
New Revision: 69624
URL: http://svn.boost.org/trac/boost/changeset/69624
Log:
Bring Boost.Config into line with Trunk.
Added:
branches/release/boost/config/stdlib/libcpp.hpp
- copied unchanged from r69623, /trunk/boost/config/stdlib/libcpp.hpp
Properties modified:
branches/release/boost/config/ (props changed)
branches/release/libs/config/ (props changed)
branches/release/libs/config/doc/ (props changed)
Text files modified:
branches/release/boost/config/compiler/borland.hpp | 3 -
branches/release/boost/config/compiler/clang.hpp | 53 +++++++++++++++++++--------
branches/release/boost/config/compiler/comeau.hpp | 2 -
branches/release/boost/config/compiler/gcc.hpp | 1
branches/release/boost/config/compiler/intel.hpp | 40 ++++++++++++++++++++
branches/release/boost/config/compiler/metrowerks.hpp | 2 -
branches/release/boost/config/compiler/nvcc.hpp | 75 ++++-----------------------------------
branches/release/boost/config/compiler/sunpro_cc.hpp | 4 --
branches/release/boost/config/compiler/vacpp.hpp | 47 ++++++++++++++++++------
branches/release/boost/config/platform/aix.hpp | 8 ----
branches/release/boost/config/platform/amigaos.hpp | 3 -
branches/release/boost/config/platform/beos.hpp | 8 ----
branches/release/boost/config/platform/bsd.hpp | 25 +++----------
branches/release/boost/config/platform/cygwin.hpp | 63 ++++++++++++++++-----------------
branches/release/boost/config/platform/hpux.hpp | 8 ----
branches/release/boost/config/platform/irix.hpp | 6 ---
branches/release/boost/config/platform/linux.hpp | 8 ----
branches/release/boost/config/platform/macos.hpp | 6 ---
branches/release/boost/config/platform/qnxnto.hpp | 8 ----
branches/release/boost/config/platform/solaris.hpp | 6 ---
branches/release/boost/config/platform/symbian.hpp | 10 +---
branches/release/boost/config/platform/vxworks.hpp | 6 ---
branches/release/boost/config/select_stdlib_config.hpp | 4 ++
branches/release/boost/config/stdlib/libstdcpp3.hpp | 2 +
branches/release/boost/config/stdlib/roguewave.hpp | 6 ++
branches/release/boost/config/suffix.hpp | 6 --
branches/release/libs/config/doc/macro_reference.qbk | 10 ++--
branches/release/libs/config/test/math_info.cpp | 3 +
28 files changed, 178 insertions(+), 245 deletions(-)
Modified: branches/release/boost/config/compiler/borland.hpp
==============================================================================
--- branches/release/boost/config/compiler/borland.hpp (original)
+++ branches/release/boost/config/compiler/borland.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -12,9 +12,6 @@
//
// versions check:
// we don't support Borland prior to version 5.4:
-
-#define BOOST_BORLAND __BORLANDC__
-
#if __BORLANDC__ < 0x540
# error "Compiler not supported or configured - please reconfigure"
#endif
Modified: branches/release/boost/config/compiler/clang.hpp
==============================================================================
--- branches/release/boost/config/compiler/clang.hpp (original)
+++ branches/release/boost/config/compiler/clang.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -13,8 +13,7 @@
# define BOOST_NO_EXCEPTIONS
#endif
-#if __has_feature(cxx_rtti)
-#else
+#if !__has_feature(cxx_rtti)
# define BOOST_NO_RTTI
#endif
@@ -24,35 +23,57 @@
#define BOOST_HAS_NRVO
-// NOTE: Clang's C++0x support is not worth detecting. However, it
-// supports both extern templates and "long long" even in C++98/03
-// mode.
+// Clang supports "long long" in all compilation modes.
+
#define BOOST_NO_AUTO_DECLARATIONS
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
+
+#if !__has_feature(cxx_decltype)
+# define BOOST_NO_DECLTYPE
+#endif
+
#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
+
+#if !__has_feature(cxx_deleted_functions)
+# define BOOST_NO_DELETED_FUNCTIONS
+#endif
+
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+
+#if !__has_feature(cxx_default_function_template_args)
+ #define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#endif
+
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
+
+#if !__has_feature(cxx_rvalue_references)
+# define BOOST_NO_RVALUE_REFERENCES
+#endif
+
+#if !__has_feature(cxx_strong_enums)
+# define BOOST_NO_SCOPED_ENUMS
+#endif
+
+#if !__has_feature(cxx_static_assert)
+# define BOOST_NO_STATIC_ASSERT
+#endif
+
#define BOOST_NO_TEMPLATE_ALIASES
#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_VARIADIC_MACROS
-// HACK: Clang does support extern templates, but Boost's test for
-// them is wrong.
-#define BOOST_NO_EXTERN_TEMPLATE
+#if !__has_feature(cxx_variadic_templates)
+# define BOOST_NO_VARIADIC_TEMPLATES
+#endif
+
+// Clang always supports variadic macros
+// Clang always supports extern templates
#ifndef BOOST_COMPILER
# define BOOST_COMPILER "Clang version " __clang_version__
Modified: branches/release/boost/config/compiler/comeau.hpp
==============================================================================
--- branches/release/boost/config/compiler/comeau.hpp (original)
+++ branches/release/boost/config/compiler/comeau.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -14,8 +14,6 @@
#include "boost/config/compiler/common_edg.hpp"
-#define BOOST_COMO __COMO_VERSION__
-
#if (__COMO_VERSION__ <= 4245)
# if defined(_MSC_VER) && _MSC_VER <= 1300
Modified: branches/release/boost/config/compiler/gcc.hpp
==============================================================================
--- branches/release/boost/config/compiler/gcc.hpp (original)
+++ branches/release/boost/config/compiler/gcc.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -89,6 +89,7 @@
# define BOOST_NO_EXCEPTIONS
#endif
+
//
// Threading support: Turn this on unconditionally here (except for
// those platforms where we can know for sure). It will get turned off again
Modified: branches/release/boost/config/compiler/intel.hpp
==============================================================================
--- branches/release/boost/config/compiler/intel.hpp (original)
+++ branches/release/boost/config/compiler/intel.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -26,7 +26,19 @@
# define BOOST_INTEL_CXX_VERSION __ECC
#endif
+// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'
+#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
+#define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
+#else
#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
+#endif
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
#if defined(_WIN32) || defined(_WIN64)
@@ -99,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
@@ -179,6 +191,32 @@
# define BOOST_SYMBOL_IMPORT
# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
#endif
+//
+// C++0x features
+// - ICC added static_assert in 11.0 (first version with C++0x support)
+//
+#if defined(BOOST_INTEL_STDCXX0X)
+# undef BOOST_NO_STATIC_ASSERT
+//
+// 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_RVALUE_REFERENCES
+# 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
//
// last known and checked version:
Modified: branches/release/boost/config/compiler/metrowerks.hpp
==============================================================================
--- branches/release/boost/config/compiler/metrowerks.hpp (original)
+++ branches/release/boost/config/compiler/metrowerks.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -12,8 +12,6 @@
// Metrowerks C++ compiler setup:
-#define BOOST_MWERKS __MWERKS__
-
// locale support is disabled when linking with the dynamic runtime
# ifdef _MSL_NO_LOCALE
# define BOOST_NO_STD_LOCALE
Modified: branches/release/boost/config/compiler/nvcc.hpp
==============================================================================
--- branches/release/boost/config/compiler/nvcc.hpp (original)
+++ branches/release/boost/config/compiler/nvcc.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -17,71 +17,12 @@
// Boost support macro for NVCC
// NVCC Basically behaves like some flavor of MSVC6 + some specific quirks
-#define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#define BOOST_MSVC6_MEMBER_TEMPLATES
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_STDINT_H
-#define BOOST_HAS_SIGACTION
-#define BOOST_HAS_SCHED_YIELD
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_PTHREAD_YIELD
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#define BOOST_HAS_NRVO
-#define BOOST_HAS_NL_TYPES_H
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_LONG_LONG
-#define BOOST_HAS_LOG1P
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_EXPM1
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_VARIADIC_MACROS
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_STD_UNORDERED
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_CONCEPTS
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_0X_HDR_UNORDERED_SET
-#define BOOST_NO_0X_HDR_UNORDERED_MAP
-#define BOOST_NO_0X_HDR_TYPE_TRAITS
-#define BOOST_NO_0X_HDR_TUPLE
-#define BOOST_NO_0X_HDR_THREAD
-#define BOOST_NO_0X_HDR_TYPEINDEX
-#define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#define BOOST_NO_0X_HDR_REGEX
-#define BOOST_NO_0X_HDR_RATIO
-#define BOOST_NO_0X_HDR_RANDOM
-#define BOOST_NO_0X_HDR_MUTEX
-#define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
-#define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
-#define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#define BOOST_NO_0X_HDR_FUTURE
-#define BOOST_NO_0X_HDR_FORWARD_LIST
-#define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
-#define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#define BOOST_NO_0X_HDR_CONCEPTS
-#define BOOST_NO_0X_HDR_CODECVT
-#define BOOST_NO_0X_HDR_CHRONO
-#define BOOST_NO_0X_HDR_ARRAY
+#ifdef __GNUC__
+#include <boost/config/compiler/gcc.hpp>
+
+#elif defined(_MSC_VER)
+
+#include <boost/config/compiler/visualc.hpp>
+
+#endif
Modified: branches/release/boost/config/compiler/sunpro_cc.hpp
==============================================================================
--- branches/release/boost/config/compiler/sunpro_cc.hpp (original)
+++ branches/release/boost/config/compiler/sunpro_cc.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -11,10 +11,6 @@
// Sun C++ compiler setup:
-// Macro identifying the Sun compiler
-
-#define BOOST_SUNCC __SUNPRO_CC
-
# if __SUNPRO_CC <= 0x500
# define BOOST_NO_MEMBER_TEMPLATES
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
Modified: branches/release/boost/config/compiler/vacpp.hpp
==============================================================================
--- branches/release/boost/config/compiler/vacpp.hpp (original)
+++ branches/release/boost/config/compiler/vacpp.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -27,7 +27,6 @@
#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)
# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-# define BOOST_NO_INITIALIZER_LISTS
#endif
#if (__IBMCPP__ <= 1110)
@@ -54,44 +53,66 @@
#error "Compiler not supported or configured - please reconfigure"
#endif
//
-// last known and checked version is 600:
-#if (__IBMCPP__ > 1010)
+// last known and checked version is 1110:
+#if (__IBMCPP__ > 1110)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
// Some versions of the compiler have issues with default arguments on partial specializations
+#if __IBMCPP__ <= 1010
#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+#endif
//
// C++0x features
//
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
//
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
+#if ! __IBMCPP_AUTO_TYPEDEDUCTION
+# define BOOST_NO_AUTO_DECLARATIONS
+# define BOOST_NO_AUTO_MULTIDECLARATIONS
+#endif
+#if ! __IBMCPP_UTF_LITERAL__
+# define BOOST_NO_CHAR16_T
+# define BOOST_NO_CHAR32_T
+#endif
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
+#if ! __IBMCPP_DECLTYPE
+# define BOOST_NO_DECLTYPE
+#else
+# define BOOST_HAS_DECLTYPE
+#endif
#define BOOST_NO_DEFAULTED_FUNCTIONS
#define BOOST_NO_DELETED_FUNCTIONS
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#if ! __IBMCPP_EXTERN_TEMPLATE
+# define BOOST_NO_EXTERN_TEMPLATE
+#endif
+#if ! __IBMCPP_VARIADIC_TEMPLATES
+// not enabled separately at this time
+# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#endif
+#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_RVALUE_REFERENCES
#define BOOST_NO_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_STATIC_ASSERT
+#if ! __IBMCPP_STATIC_ASSERT
+# define BOOST_NO_STATIC_ASSERT
+#endif
#define BOOST_NO_TEMPLATE_ALIASES
#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_VARIADIC_MACROS
+#if ! __IBMCPP_VARIADIC_TEMPLATES
+# define BOOST_NO_VARIADIC_TEMPLATES
+#endif
+#if ! __C99_MACRO_WITH_VA_ARGS
+# define BOOST_NO_VARIADIC_MACROS
+#endif
Modified: branches/release/boost/config/platform/aix.hpp
==============================================================================
--- branches/release/boost/config/platform/aix.hpp (original)
+++ branches/release/boost/config/platform/aix.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,5 +1,4 @@
// (C) Copyright John Maddock 2001 - 2002.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,13 +9,6 @@
#define BOOST_PLATFORM "IBM Aix"
-#define BOOST_NIX 1
-//#define BOOST_GENETIC_NIX 1
-#define BOOST_TRADEMARK_NIX 1
-//#define BOOST_FUNCTIONAL_NIX 1
-
-#define BOOST_AIX 1
-
#define BOOST_HAS_UNISTD_H
#define BOOST_HAS_NL_TYPES_H
#define BOOST_HAS_NANOSLEEP
Modified: branches/release/boost/config/platform/amigaos.hpp
==============================================================================
--- branches/release/boost/config/platform/amigaos.hpp (original)
+++ branches/release/boost/config/platform/amigaos.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,5 +1,4 @@
// (C) Copyright John Maddock 2002.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,8 +7,6 @@
#define BOOST_PLATFORM "AmigaOS"
-#define BOOST_AMIGA 1
-
#define BOOST_DISABLE_THREADS
#define BOOST_NO_CWCHAR
#define BOOST_NO_STD_WSTRING
Modified: branches/release/boost/config/platform/beos.hpp
==============================================================================
--- branches/release/boost/config/platform/beos.hpp (original)
+++ branches/release/boost/config/platform/beos.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,5 +1,4 @@
// (C) Copyright John Maddock 2001.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,13 +9,6 @@
#define BOOST_PLATFORM "BeOS"
-#define BOOST_BEOS 1
-
-#define BOOST_NIX 1
-//#define BOOST_GENETIC_NIX 1
-//#define BOOST_TRADEMARK_NIX 1
-#define BOOST_FUNCTIONAL_NIX 1
-
#define BOOST_NO_CWCHAR
#define BOOST_NO_CWCTYPE
#define BOOST_HAS_UNISTD_H
Modified: branches/release/boost/config/platform/bsd.hpp
==============================================================================
--- branches/release/boost/config/platform/bsd.hpp (original)
+++ branches/release/boost/config/platform/bsd.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,7 +1,6 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Darin Adler 2001.
// (C) Copyright Douglas Gregor 2002.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,30 +9,18 @@
// generic BSD config options:
-#if !defined(__FreeBSD__) && \
- !defined(__NetBSD__) && \
- !defined(__OpenBSD__) && \
- !defined(__DragonFly__)
- #error "This platform is not BSD"
+#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
+#error "This platform is not BSD"
#endif
-#define BOOST_NIX 1
-#define BOOST_GENETIC_NIX 1
-//#define BOOST_TRADEMARK_NIX 1
-//#define BOOST_FUNCTIONAL_NIX 1
-
#ifdef __FreeBSD__
- #define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
- #define BOOST_FREEBSD __FreeBSD__
+#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
#elif defined(__NetBSD__)
- #define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
- #define BOOST_NETBSD __NetBSD__
+#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
#elif defined(__OpenBSD__)
- #define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
- #define BOOST_OPENBSD __OpenBSD__
+#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
#elif defined(__DragonFly__)
- #define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
- #define BOOST_DFBSD __DragonFly__
+#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
#endif
//
Modified: branches/release/boost/config/platform/cygwin.hpp
==============================================================================
--- branches/release/boost/config/platform/cygwin.hpp (original)
+++ branches/release/boost/config/platform/cygwin.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,56 +1,55 @@
-// (C) Copyright John Maddock 2001 - 2003
-// (C) Copyright Bryce Lelbach 2010
-//
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org for most recent version.
+// (C) Copyright John Maddock 2001 - 2003.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for most recent version.
-#define BOOST_PLATFORM "Cygwin" // Platform name.
-#define BOOST_CYGWIN __CYGWIN__ // Boost platform ID macros.
+// cygwin specific config options:
+#define BOOST_PLATFORM "Cygwin"
#define BOOST_HAS_DIRENT_H
#define BOOST_HAS_LOG1P
#define BOOST_HAS_EXPM1
-#define BOOST_NIX 1
-//#define BOOST_GENETIC_NIX 1
-//#define BOOST_TRADEMARK_NIX 1
-#define BOOST_FUNCTIONAL_NIX 1
-
-// See if we have POSIX threads, otherwise revert to native Win threads.
+//
+// Threading API:
+// See if we have POSIX threads, if we do use them, otherwise
+// revert to native Win threads.
#define BOOST_HAS_UNISTD_H
#include <unistd.h>
-
-#if defined(_POSIX_THREADS) && (_POSIX_THREADS + 0 >= 0) && \
- !defined(BOOST_HAS_WINTHREADS)
- #define BOOST_HAS_PTHREADS
- #define BOOST_HAS_SCHED_YIELD
- #define BOOST_HAS_GETTIMEOFDAY
- #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
- #define BOOST_HAS_SIGACTION
+#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
+# define BOOST_HAS_PTHREADS
+# define BOOST_HAS_SCHED_YIELD
+# define BOOST_HAS_GETTIMEOFDAY
+# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+# define BOOST_HAS_SIGACTION
#else
- #if !defined(BOOST_HAS_WINTHREADS)
- #define BOOST_HAS_WINTHREADS
- #endif
- #define BOOST_HAS_FTIME
+# if !defined(BOOST_HAS_WINTHREADS)
+# define BOOST_HAS_WINTHREADS
+# endif
+# define BOOST_HAS_FTIME
#endif
-// Find out if we have a stdint.h, there should be a better way to do this.
+//
+// find out if we have a stdint.h, there should be a better way to do this:
+//
#include <sys/types.h>
-
#ifdef _STDINT_H
- #define BOOST_HAS_STDINT_H
+#define BOOST_HAS_STDINT_H
#endif
/// Cygwin has no fenv.h
#define BOOST_NO_FENV_H
+// boilerplate code:
#include <boost/config/posix_features.hpp>
-// Cygwin lies about XSI conformance, there is no nl_types.h.
+//
+// Cygwin lies about XSI conformance, there is no nl_types.h:
+//
#ifdef BOOST_HAS_NL_TYPES_H
- #undef BOOST_HAS_NL_TYPES_H
+# undef BOOST_HAS_NL_TYPES_H
#endif
Modified: branches/release/boost/config/platform/hpux.hpp
==============================================================================
--- branches/release/boost/config/platform/hpux.hpp (original)
+++ branches/release/boost/config/platform/hpux.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -3,7 +3,6 @@
// (C) Copyright David Abrahams 2002.
// (C) Copyright Toon Knapen 2003.
// (C) Copyright Boris Gubenko 2006 - 2007.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -14,13 +13,6 @@
#define BOOST_PLATFORM "HP-UX"
-#define BOOST_HPUX 1 // platform ID macro
-
-#define BOOST_NIX 1
-//#define BOOST_GENETIC_NIX 1
-#define BOOST_TRADEMARK_NIX 1
-//#define BOOST_FUNCTIONAL_NIX 1
-
// In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>
// However, it has the following problem:
// Use of UINT32_C(0) results in "0u l" for the preprocessed source
Modified: branches/release/boost/config/platform/irix.hpp
==============================================================================
--- branches/release/boost/config/platform/irix.hpp (original)
+++ branches/release/boost/config/platform/irix.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,6 +1,5 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2003.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,11 +11,6 @@
#define BOOST_PLATFORM "SGI Irix"
-#define BOOST_NIX 1
-//#define BOOST_GENETIC_NIX 1
-#define BOOST_TRADEMARK_NIX 1
-//#define BOOST_FUNCTIONAL_NIX 1
-
#define BOOST_NO_SWPRINTF
//
// these are not auto detected by POSIX feature tests:
Modified: branches/release/boost/config/platform/linux.hpp
==============================================================================
--- branches/release/boost/config/platform/linux.hpp (original)
+++ branches/release/boost/config/platform/linux.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,6 +1,5 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2001 - 2003.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -14,13 +13,6 @@
// make sure we have __GLIBC_PREREQ if available at all
#include <cstdlib>
-#define BOOST_NIX 1
-//#define BOOST_GENETIC_NIX 1
-//#define BOOST_TRADEMARK_NIX 1
-#define BOOST_FUNCTIONAL_NIX 1
-
-#define BOOST_LINUX 1
-
//
// <stdint.h> added to glibc 2.1.1
// We can only test for 2.1 though:
Modified: branches/release/boost/config/platform/macos.hpp
==============================================================================
--- branches/release/boost/config/platform/macos.hpp (original)
+++ branches/release/boost/config/platform/macos.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,7 +1,6 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Darin Adler 2001 - 2002.
// (C) Copyright Bill Kempf 2002.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -14,11 +13,6 @@
#if __MACH__ && !defined(_MSL_USING_MSL_C)
-#define BOOST_NIX 1
-//#define BOOST_GENETIC_NIX 1
-#define BOOST_TRADEMARK_NIX 1
-//#define BOOST_FUNCTIONAL_NIX 1
-
// Using the Mac OS X system BSD-style C library.
# ifndef BOOST_HAS_UNISTD_H
Modified: branches/release/boost/config/platform/qnxnto.hpp
==============================================================================
--- branches/release/boost/config/platform/qnxnto.hpp (original)
+++ branches/release/boost/config/platform/qnxnto.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,5 +1,4 @@
// (C) Copyright Jim Douglas 2005.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,15 +7,8 @@
// QNX specific config options:
-#define BOOST_QNX 1
-
#define BOOST_PLATFORM "QNX"
-#define BOOST_NIX 1
-//#define BOOST_GENETIC_NIX 1
-//#define BOOST_TRADEMARK_NIX 1
-#define BOOST_FUNCTIONAL_NIX 1
-
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>
Modified: branches/release/boost/config/platform/solaris.hpp
==============================================================================
--- branches/release/boost/config/platform/solaris.hpp (original)
+++ branches/release/boost/config/platform/solaris.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,6 +1,5 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2003.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -11,11 +10,6 @@
#define BOOST_PLATFORM "Sun Solaris"
-#define BOOST_NIX 1
-//#define BOOST_GENETIC_NIX 1
-#define BOOST_TRADEMARK_NIX 1
-//#define BOOST_FUNCTIONAL_NIX 1
-
#define BOOST_HAS_GETTIMEOFDAY
// boilerplate code:
Modified: branches/release/boost/config/platform/symbian.hpp
==============================================================================
--- branches/release/boost/config/platform/symbian.hpp (original)
+++ branches/release/boost/config/platform/symbian.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,7 +1,6 @@
// (C) Copyright Yuriy Krasnoschek 2009.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2001 - 2003.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,16 +9,13 @@
// symbian specific config options:
+
#define BOOST_PLATFORM "Symbian"
#define BOOST_SYMBIAN 1
+
#if defined(__S60_3X__)
-// Open C / C++ plugin was introdused in this SDK, earlier versions don't have
-// CRT / STL
-# define BOOST_NIX 1
-//# define BOOST_GENETIC_NIX 1
-//# define BOOST_TRADEMARK_NIX 1
-# define BOOST_FUNCTIONAL_NIX 1
+// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
# define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
// make sure we have __GLIBC_PREREQ if available at all
# include <cstdlib>
Modified: branches/release/boost/config/platform/vxworks.hpp
==============================================================================
--- branches/release/boost/config/platform/vxworks.hpp (original)
+++ branches/release/boost/config/platform/vxworks.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -1,5 +1,4 @@
// (C) Copyright Dustin Spicuzza 2009.
-// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -24,11 +23,6 @@
#define _POSIX_TIMERS 1
#define _POSIX_THREADS 1
-#define BOOST_NIX 1
-//#define BOOST_GENETIC_NIX 1
-#define BOOST_TRADEMARK_NIX 1
-//#define BOOST_FUNCTIONAL_NIX 1
-
// vxworks doesn't work with asio serial ports
#define BOOST_ASIO_DISABLE_SERIAL_PORT
Modified: branches/release/boost/config/select_stdlib_config.hpp
==============================================================================
--- branches/release/boost/config/select_stdlib_config.hpp (original)
+++ branches/release/boost/config/select_stdlib_config.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -40,6 +40,10 @@
// Rogue Wave library:
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp"
+#elif defined(_LIBCPP_VERSION)
+// libc++
+# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.hpp"
+
#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
// GNU libstdc++ 3
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp"
Modified: branches/release/boost/config/stdlib/libstdcpp3.hpp
==============================================================================
--- branches/release/boost/config/stdlib/libstdcpp3.hpp (original)
+++ branches/release/boost/config/stdlib/libstdcpp3.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -9,6 +9,8 @@
// config for libstdc++ v3
// not much to go in here:
+#define BOOST_GNU_STDLIB 1
+
#ifdef __GLIBCXX__
#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__)
#else
Modified: branches/release/boost/config/stdlib/roguewave.hpp
==============================================================================
--- branches/release/boost/config/stdlib/roguewave.hpp (original)
+++ branches/release/boost/config/stdlib/roguewave.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -10,6 +10,8 @@
// Rogue Wave std lib:
+#define BOOST_RW_STDLIB 1
+
#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
# include <boost/config/no_tr1/utility.hpp>
# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
@@ -154,7 +156,10 @@
// C++0x headers not yet implemented
//
+#if _RWSTD_VER < 0x05000000
# define BOOST_NO_0X_HDR_ARRAY
+# define BOOST_NO_0X_HDR_TYPE_TRAITS
+#endif
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
@@ -172,7 +177,6 @@
# define BOOST_NO_0X_HDR_SYSTEM_ERROR
# define BOOST_NO_0X_HDR_THREAD
# define BOOST_NO_0X_HDR_TUPLE
-# define BOOST_NO_0X_HDR_TYPE_TRAITS
# define BOOST_NO_0X_HDR_TYPEINDEX
# define BOOST_NO_STD_UNORDERED // deprecated; see following
# define BOOST_NO_0X_HDR_UNORDERED_MAP
Modified: branches/release/boost/config/suffix.hpp
==============================================================================
--- branches/release/boost/config/suffix.hpp (original)
+++ branches/release/boost/config/suffix.hpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -600,7 +600,7 @@
// the global definition into std namespace:
#ifdef BOOST_NO_STD_TYPEINFO
#include <typeinfo>
-namespace std{ using ::typeinfo; }
+namespace std{ using ::type_info; }
#endif
// ---------------------------------------------------------------------------//
@@ -639,10 +639,6 @@
# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \
|| defined(_POSIX_SOURCE)
# define BOOST_PLATFORM "Generic Unix"
-# define BOOST_NIX 1
-//# define BOOST_GENETIC_NIX 1
-//# define BOOST_TRADEMARK_NIX 1
-# define BOOST_FUNCTIONAL_NIX 1
# else
# define BOOST_PLATFORM "Unknown"
# endif
Modified: branches/release/libs/config/doc/macro_reference.qbk
==============================================================================
--- branches/release/libs/config/doc/macro_reference.qbk (original)
+++ branches/release/libs/config/doc/macro_reference.qbk 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -71,6 +71,11 @@
[[`BOOST_NO_CWCTYPE`][Platform][
The Platform does not provide `<wctype.h>` and `<cwctype>`.
]]
+[[`BOOST_NO_FENV_H`][Platform, Standard library][
+The C standard library doesn't provide `<fenv.h>`. [@../../../../boost/detail/fenv.hpp
+`<boost/detail/fenv.hpp>`] should be included instead of `<fenv.h>` for maximum
+portability on platforms which do provide `<fenv.h>`.
+]]
[[`BOOST_NO_DEPENDENT_NESTED_DERIVATIONS`][Compiler][
The compiler fails to compile a nested class that has a dependent base class:
``
@@ -399,11 +404,6 @@
[[`BOOST_HAS_SGI_TYPE_TRAITS`][Compiler, Standard library][
The compiler has native support for SGI style type traits.
]]
-[[`BOOST_HAS_FENV_H`][Platform, Standard library][
-The platform has a `<fenv.h>`. [@../../../../boost/detail/fenv.hpp
-`<boost/detail/fenv.hpp>`] should be included instead of `<fenv.h>` for maximum
-portability.
-]]
[[`BOOST_HAS_STDINT_H`][Platform][
The platform has a `<stdint.h>`
]]
Modified: branches/release/libs/config/test/math_info.cpp
==============================================================================
--- branches/release/libs/config/test/math_info.cpp (original)
+++ branches/release/libs/config/test/math_info.cpp 2011-03-07 08:07:30 EST (Mon, 07 Mar 2011)
@@ -181,7 +181,8 @@
// the floating point types or not:
//
namespace std{
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300)
+#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300) && \
+ !defined(_LIBCPP_VERSION)
template <class T>
char abs(T)
{
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk