diff options
Diffstat (limited to '3rdParty/Boost/src/boost/config/stdlib')
10 files changed, 77 insertions, 18 deletions
| diff --git a/3rdParty/Boost/src/boost/config/stdlib/dinkumware.hpp b/3rdParty/Boost/src/boost/config/stdlib/dinkumware.hpp index e0032b9..6fb6322 100644 --- a/3rdParty/Boost/src/boost/config/stdlib/dinkumware.hpp +++ b/3rdParty/Boost/src/boost/config/stdlib/dinkumware.hpp @@ -87,7 +87,16 @@  #endif +// Fix for VC++ 8.0 on up ( I do not have a previous version to test ) +// or clang-cl. If exceptions are off you must manually include the  +// <exception> header before including the <typeinfo> header. Admittedly  +// trying to use Boost libraries or the standard C++ libraries without  +// exception support is not suggested but currently clang-cl ( v 3.4 )  +// does not support exceptions and must be compiled with exceptions off. +#if !_HAS_EXCEPTIONS && ((defined(BOOST_MSVC) && BOOST_MSVC >= 1400) || (defined(__clang__) && defined(_MSC_VER))) +#include <exception> +#endif  #include <typeinfo> -#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) )  -#  define BOOST_NO_STD_TYPEINFO     +#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) +#  define BOOST_NO_STD_TYPEINFO  #endif   @@ -111,10 +120,12 @@  #endif -#if (!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE) +#if ((!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) \ +  && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 610)  #  define BOOST_NO_CXX11_HDR_TUPLE  #endif + +//  C++0x headers implemented in 540 (as shipped by Microsoft)  // -//  C++0x headers not yet (fully) implemented: -// +#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540  #  define BOOST_NO_CXX11_HDR_TYPE_TRAITS  #  define BOOST_NO_CXX11_HDR_CHRONO @@ -124,6 +135,20 @@  #  define BOOST_NO_CXX11_HDR_RATIO  #  define BOOST_NO_CXX11_HDR_THREAD -#  define BOOST_NO_CXX11_ALLOCATOR  #  define BOOST_NO_CXX11_ATOMIC_SMART_PTR +#endif + +//  C++0x headers implemented in 610 (as shipped by Microsoft) +// +#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 610 +#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#  define BOOST_NO_CXX11_HDR_ATOMIC +#  define BOOST_NO_CXX11_ALLOCATOR +// 540 has std::align but it is not a conforming implementation +#  define BOOST_NO_CXX11_STD_ALIGN +#endif + +//  520..610 have std::addressof, but it doesn't support functions +// +#  define BOOST_NO_CXX11_ADDRESSOF  #ifdef _CPPLIB_VER @@ -138,11 +163,2 @@  #  define BOOST_STDLIB "Dinkumware standard library version 1.x"  #endif - - - - - - - - - diff --git a/3rdParty/Boost/src/boost/config/stdlib/libcomo.hpp b/3rdParty/Boost/src/boost/config/stdlib/libcomo.hpp index 29490f1..5aacfb2 100644 --- a/3rdParty/Boost/src/boost/config/stdlib/libcomo.hpp +++ b/3rdParty/Boost/src/boost/config/stdlib/libcomo.hpp @@ -59,4 +59,7 @@  #  define BOOST_NO_CXX11_SMART_PTR  #  define BOOST_NO_CXX11_HDR_FUNCTIONAL +#  define BOOST_NO_CXX11_HDR_ATOMIC +#  define BOOST_NO_CXX11_STD_ALIGN +#  define BOOST_NO_CXX11_ADDRESSOF  // diff --git a/3rdParty/Boost/src/boost/config/stdlib/libcpp.hpp b/3rdParty/Boost/src/boost/config/stdlib/libcpp.hpp index 3d57440..88184ef 100644 --- a/3rdParty/Boost/src/boost/config/stdlib/libcpp.hpp +++ b/3rdParty/Boost/src/boost/config/stdlib/libcpp.hpp @@ -24,4 +24,12 @@  #endif +// BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11 +// allocator model. The C++11 allocator model requires a conforming +// std::allocator_traits which is only possible with C++11 template +// aliases since members rebind_alloc and rebind_traits require it. +#if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES) +#    define BOOST_NO_CXX11_ALLOCATOR +#endif +  //  // These appear to be unusable/incomplete so far: @@ -31,4 +39,5 @@  #  define BOOST_NO_CXX11_HDR_TYPE_TRAITS  #  define BOOST_NO_CXX11_ATOMIC_SMART_PTR +#  define BOOST_NO_CXX11_HDR_ATOMIC  // libc++ uses a non-standard messages_base diff --git a/3rdParty/Boost/src/boost/config/stdlib/libstdcpp3.hpp b/3rdParty/Boost/src/boost/config/stdlib/libstdcpp3.hpp index c56dff2..2fd6ea7 100644 --- a/3rdParty/Boost/src/boost/config/stdlib/libstdcpp3.hpp +++ b/3rdParty/Boost/src/boost/config/stdlib/libstdcpp3.hpp @@ -36,5 +36,6 @@          || defined(_GLIBCXX__PTHREADS) \          || defined(_GLIBCXX_HAS_GTHREADS) \ -        || defined(_WIN32) +        || defined(_WIN32) \ +        || defined(_AIX)        //        // If the std lib has thread support turned on, then turn it on in Boost @@ -107,5 +108,4 @@  #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__)  #  define BOOST_NO_CXX11_HDR_ARRAY -#  define BOOST_NO_CXX11_HDR_REGEX  #  define BOOST_NO_CXX11_HDR_TUPLE  #  define BOOST_NO_CXX11_HDR_UNORDERED_MAP @@ -146,4 +146,5 @@  #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)  #  define BOOST_NO_CXX11_HDR_TYPEINDEX +#  define BOOST_NO_CXX11_ADDRESSOF  #endif @@ -151,9 +152,20 @@  //  #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -// Note that although <chrono> existed prior to 4.7, "stead_clock" is spelled "monotonic_clock" +// Note that although <chrono> existed prior to 4.7, "steady_clock" is spelled "monotonic_clock"  // so 4.7.0 is the first truely conforming one.  #  define BOOST_NO_CXX11_HDR_CHRONO  #  define BOOST_NO_CXX11_ALLOCATOR  #endif +//  C++0x features in GCC 4.7.0 and later +// +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +// Note that although <atomic> existed prior to gcc 4.8 it was largely unimplemented for many types: +#  define BOOST_NO_CXX11_HDR_ATOMIC +#endif +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +// Although <regex> is present and compilable against, the actual implementation is not functional +// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively. +#  define BOOST_NO_CXX11_HDR_REGEX +#endif  //  C++0x headers not yet (fully!) implemented  // @@ -162,4 +174,5 @@  #  define BOOST_NO_CXX11_HDR_CODECVT  #  define BOOST_NO_CXX11_ATOMIC_SMART_PTR +#  define BOOST_NO_CXX11_STD_ALIGN  //  --- end --- diff --git a/3rdParty/Boost/src/boost/config/stdlib/modena.hpp b/3rdParty/Boost/src/boost/config/stdlib/modena.hpp index b483b6e..f2a8388 100644 --- a/3rdParty/Boost/src/boost/config/stdlib/modena.hpp +++ b/3rdParty/Boost/src/boost/config/stdlib/modena.hpp @@ -48,4 +48,7 @@  #  define BOOST_NO_CXX11_SMART_PTR  #  define BOOST_NO_CXX11_HDR_FUNCTIONAL +#  define BOOST_NO_CXX11_HDR_ATOMIC +#  define BOOST_NO_CXX11_STD_ALIGN +#  define BOOST_NO_CXX11_ADDRESSOF  #define BOOST_STDLIB "Modena C++ standard library" diff --git a/3rdParty/Boost/src/boost/config/stdlib/msl.hpp b/3rdParty/Boost/src/boost/config/stdlib/msl.hpp index 4f9a2da..b8f43a1 100644 --- a/3rdParty/Boost/src/boost/config/stdlib/msl.hpp +++ b/3rdParty/Boost/src/boost/config/stdlib/msl.hpp @@ -72,4 +72,7 @@  #  define BOOST_NO_CXX11_SMART_PTR  #  define BOOST_NO_CXX11_HDR_FUNCTIONAL +#  define BOOST_NO_CXX11_HDR_ATOMIC +#  define BOOST_NO_CXX11_STD_ALIGN +#  define BOOST_NO_CXX11_ADDRESSOF  #define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) diff --git a/3rdParty/Boost/src/boost/config/stdlib/roguewave.hpp b/3rdParty/Boost/src/boost/config/stdlib/roguewave.hpp index cb80f57..2b4e863 100644 --- a/3rdParty/Boost/src/boost/config/stdlib/roguewave.hpp +++ b/3rdParty/Boost/src/boost/config/stdlib/roguewave.hpp @@ -184,3 +184,6 @@  #  define BOOST_NO_CXX11_SMART_PTR  #  define BOOST_NO_CXX11_HDR_FUNCTIONAL +#  define BOOST_NO_CXX11_HDR_ATOMIC +#  define BOOST_NO_CXX11_STD_ALIGN +#  define BOOST_NO_CXX11_ADDRESSOF diff --git a/3rdParty/Boost/src/boost/config/stdlib/sgi.hpp b/3rdParty/Boost/src/boost/config/stdlib/sgi.hpp index ae9b6ad..bda77c2 100644 --- a/3rdParty/Boost/src/boost/config/stdlib/sgi.hpp +++ b/3rdParty/Boost/src/boost/config/stdlib/sgi.hpp @@ -142,4 +142,7 @@  #  define BOOST_NO_CXX11_SMART_PTR  #  define BOOST_NO_CXX11_HDR_FUNCTIONAL +#  define BOOST_NO_CXX11_HDR_ATOMIC +#  define BOOST_NO_CXX11_STD_ALIGN +#  define BOOST_NO_CXX11_ADDRESSOF  #define BOOST_STDLIB "SGI standard library" diff --git a/3rdParty/Boost/src/boost/config/stdlib/stlport.hpp b/3rdParty/Boost/src/boost/config/stdlib/stlport.hpp index bcc30b9..fd5d3a5 100644 --- a/3rdParty/Boost/src/boost/config/stdlib/stlport.hpp +++ b/3rdParty/Boost/src/boost/config/stdlib/stlport.hpp @@ -232,4 +232,7 @@ namespace boost { using std::min; using std::max; }  #  define BOOST_NO_CXX11_SMART_PTR  #  define BOOST_NO_CXX11_HDR_FUNCTIONAL +#  define BOOST_NO_CXX11_HDR_ATOMIC +#  define BOOST_NO_CXX11_STD_ALIGN +#  define BOOST_NO_CXX11_ADDRESSOF  #define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) diff --git a/3rdParty/Boost/src/boost/config/stdlib/vacpp.hpp b/3rdParty/Boost/src/boost/config/stdlib/vacpp.hpp index 9d16946..a58ec1c 100644 --- a/3rdParty/Boost/src/boost/config/stdlib/vacpp.hpp +++ b/3rdParty/Boost/src/boost/config/stdlib/vacpp.hpp @@ -48,4 +48,7 @@  #  define BOOST_NO_CXX11_SMART_PTR  #  define BOOST_NO_CXX11_HDR_FUNCTIONAL +#  define BOOST_NO_CXX11_HDR_ATOMIC +#  define BOOST_NO_CXX11_STD_ALIGN +#  define BOOST_NO_CXX11_ADDRESSOF  #define BOOST_STDLIB "Visual Age default standard library" | 
 Swift
 Swift