diff options
Diffstat (limited to '3rdParty/Boost/src/boost/config/compiler')
18 files changed, 459 insertions, 313 deletions
| diff --git a/3rdParty/Boost/src/boost/config/compiler/borland.hpp b/3rdParty/Boost/src/boost/config/compiler/borland.hpp index cffa8ea..d2a0902 100644 --- a/3rdParty/Boost/src/boost/config/compiler/borland.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/borland.hpp @@ -156,5 +156,5 @@  #  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS  #  define BOOST_NO_CXX11_EXTERN_TEMPLATE -#  define BOOST_NO_CXX11_RVALUE_REFERENCES  +#  define BOOST_NO_CXX11_RVALUE_REFERENCES  #  define BOOST_NO_CXX11_SCOPED_ENUMS  #  define BOOST_NO_CXX11_STATIC_ASSERT @@ -191,4 +191,9 @@  #define BOOST_NO_CXX11_NOEXCEPT  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS  #if __BORLANDC__ >= 0x590 @@ -243,5 +248,5 @@  //  #if defined(__STRICT_ANSI__) -// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined   +// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined  #  define BOOST_SYMBOL_EXPORT  #endif @@ -282,6 +287,2 @@  #define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) - - - - diff --git a/3rdParty/Boost/src/boost/config/compiler/clang.hpp b/3rdParty/Boost/src/boost/config/compiler/clang.hpp index aab3c61..6a17824 100644 --- a/3rdParty/Boost/src/boost/config/compiler/clang.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/clang.hpp @@ -1,6 +1,6 @@  // (C) Copyright Douglas Gregor 2010  // -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  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) @@ -9,4 +9,14 @@  // Clang compiler setup. +#define BOOST_HAS_PRAGMA_ONCE + +// When compiling with clang before __has_extension was defined, +// even if one writes 'defined(__has_extension) && __has_extension(xxx)', +// clang reports a compiler error. So the only workaround found is: + +#ifndef __has_extension +#define __has_extension __has_feature +#endif +  #if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)  #  define BOOST_NO_EXCEPTIONS @@ -21,5 +31,5 @@  #endif -#if defined(__int64) +#if defined(__int64) && !defined(__GNUC__)  #  define BOOST_HAS_MS_INT64  #endif @@ -27,7 +37,39 @@  #define BOOST_HAS_NRVO +// Branch prediction hints +#if defined(__has_builtin) +#if __has_builtin(__builtin_expect) +#define BOOST_LIKELY(x) __builtin_expect(x, 1) +#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) +#endif +#endif +  // Clang supports "long long" in all compilation modes.  #define BOOST_HAS_LONG_LONG +#if defined(__SIZEOF_INT128__) +#  define BOOST_HAS_INT128 +#endif + + +// +// Dynamic shared object (DSO) and dynamic-link library (DLL) support +// +#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) +#  define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) +#  define BOOST_SYMBOL_IMPORT +#  define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) +#endif + +// +// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through +// between switch labels. +// +#if __cplusplus >= 201103L && defined(__has_warning) +#  if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") +#    define BOOST_FALLTHROUGH [[clang::fallthrough]] +#  endif +#endif +  #if !__has_feature(cxx_auto_type)  #  define BOOST_NO_CXX11_AUTO_DECLARATIONS @@ -35,5 +77,8 @@  #endif -#if !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) +// +// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t +// +#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)  #  define BOOST_NO_CXX11_CHAR16_T  #  define BOOST_NO_CXX11_CHAR32_T @@ -96,4 +141,8 @@  #endif +#if !__has_feature(cxx_reference_qualified_functions) +#  define BOOST_NO_CXX11_REF_QUALIFIERS +#endif +  #if !__has_feature(cxx_generalized_initializers)  #  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX @@ -124,4 +173,20 @@  #endif +#if !__has_feature(cxx_user_literals) +#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#endif + +#if !(__has_feature(cxx_alignas) || __has_extension(cxx_alignas)) +#  define BOOST_NO_CXX11_ALIGNAS +#endif + +#if !__has_feature(cxx_trailing_return) +#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#endif + +#if !__has_feature(cxx_inline_namespaces) +#  define BOOST_NO_CXX11_INLINE_NAMESPACES +#endif +  // Clang always supports variadic macros  // Clang always supports extern templates diff --git a/3rdParty/Boost/src/boost/config/compiler/codegear.hpp b/3rdParty/Boost/src/boost/config/compiler/codegear.hpp index 1a6df33..6b52282 100644 --- a/3rdParty/Boost/src/boost/config/compiler/codegear.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/codegear.hpp @@ -73,4 +73,10 @@  #endif + +// Reportedly, #pragma once is supported since C++ Builder 2010 +#if (__CODEGEARC__ >= 0x620) +#  define BOOST_HAS_PRAGMA_ONCE +#endif +  //  // C++0x macros: @@ -111,4 +117,9 @@  #define BOOST_NO_CXX11_VARIADIC_TEMPLATES  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS  // @@ -151,5 +162,5 @@  //  #if defined(__STRICT_ANSI__) -// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined   +// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined  #  define BOOST_SYMBOL_EXPORT  #endif diff --git a/3rdParty/Boost/src/boost/config/compiler/common_edg.hpp b/3rdParty/Boost/src/boost/config/compiler/common_edg.hpp index 441a055..d5589ad 100644 --- a/3rdParty/Boost/src/boost/config/compiler/common_edg.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/common_edg.hpp @@ -1,9 +1,9 @@ -//  (C) Copyright John Maddock 2001 - 2002.  -//  (C) Copyright Jens Maurer 2001.  -//  (C) Copyright David Abrahams 2002.  -//  (C) Copyright Aleksey Gurtovoy 2002.  +//  (C) Copyright John Maddock 2001 - 2002. +//  (C) Copyright Jens Maurer 2001. +//  (C) Copyright David Abrahams 2002. +//  (C) Copyright Aleksey Gurtovoy 2002.  //  (C) Copyright Markus Schoepflin 2005. -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  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) @@ -34,13 +34,13 @@  #if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)  #   define BOOST_NO_TEMPLATE_TEMPLATES -#endif  +#endif  #if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)  #   define BOOST_NO_IS_ABSTRACT -#endif  +#endif  #if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)  #   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif  +#endif  // See also kai.hpp which checks a Kai-specific symbol for EH @@ -55,4 +55,9 @@  # endif +// Not sure what version was the first to support #pragma once, but +// different EDG-based compilers (e.g. Intel) supported it for ages. +// Add a proper version check if it causes problems. +#define BOOST_HAS_PRAGMA_ONCE +  //  // C++0x features @@ -96,4 +101,9 @@  #define BOOST_NO_CXX11_VARIADIC_TEMPLATES  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS  #ifdef c_plusplus diff --git a/3rdParty/Boost/src/boost/config/compiler/cray.hpp b/3rdParty/Boost/src/boost/config/compiler/cray.hpp index 5463ea0..94e932b 100644 --- a/3rdParty/Boost/src/boost/config/compiler/cray.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/cray.hpp @@ -1,3 +1,4 @@  //  (C) Copyright John Maddock 2011. +//  (C) Copyright Cray, Inc. 2013  //  Use, modification and distribution are subject to the  //  Boost Software License, Version 1.0. (See accompanying file @@ -10,6 +11,6 @@  #define BOOST_COMPILER "Cray C version " BOOST_STRINGIZE(_RELEASE) -#if _RELEASE < 7 -#  error "Boost is not configured for Cray compilers prior to version 7, please try the configure script." +#if _RELEASE < 8 +#  error "Boost is not configured for Cray compilers prior to version 8, please try the configure script."  #endif @@ -23,10 +24,12 @@  #include "boost/config/compiler/common_edg.hpp" +  // -// Cray peculiarities, probably version 7 specific:  // -#undef BOOST_NO_CXX11_AUTO_DECLARATIONS -#undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CXX11_STATIC_ASSERT +#define BOOST_NO_CXX11_AUTO_DECLARATIONS +#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS  #define BOOST_HAS_NRVO +#define BOOST_NO_CXX11_VARIADIC_MACROS  #define BOOST_NO_CXX11_VARIADIC_TEMPLATES  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX @@ -52,7 +55,9 @@  #define BOOST_NO_CXX11_DECLTYPE  #define BOOST_NO_CXX11_CONSTEXPR +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS  #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION  #define BOOST_NO_CXX11_CHAR32_T  #define BOOST_NO_CXX11_CHAR16_T +#define BOOST_NO_CXX11_REF_QUALIFIERS  //#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG  #define BOOST_MATH_DISABLE_STD_FPCLASSIFY @@ -62,2 +67,23 @@  #define BOOST_AC_USE_PTHREADS  +/* everything that follows is working around what are thought to be + * compiler shortcomings.  Revist all of these regularly. + */ + +//#define BOOST_USE_ENUM_STATIC_ASSERT +//#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define + +// These constants should be provided by the  +// compiler, at least when -hgnu is asserted on the command line. + +#ifndef __ATOMIC_RELAXED +#define __ATOMIC_RELAXED 0 +#define __ATOMIC_CONSUME 1 +#define __ATOMIC_ACQUIRE 2 +#define __ATOMIC_RELEASE 3 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_SEQ_CST 5 +#endif + + + diff --git a/3rdParty/Boost/src/boost/config/compiler/digitalmars.hpp b/3rdParty/Boost/src/boost/config/compiler/digitalmars.hpp index 15cc209..7bc49ab 100644 --- a/3rdParty/Boost/src/boost/config/compiler/digitalmars.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/digitalmars.hpp @@ -2,6 +2,6 @@  //  Copyright (C) Dan Watkins 2003  // -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  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,13 +12,5 @@  #define BOOST_HAS_PRAGMA_ONCE -#if (__DMC__ <= 0x833) -#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#define BOOST_NO_TEMPLATE_TEMPLATES -#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING -#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -#endif -#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG) -#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +#if !defined(BOOST_STRICT_CONFIG)  #define BOOST_NO_MEMBER_TEMPLATE_FRIENDS  #define BOOST_NO_OPERATORS_IN_NAMESPACE @@ -31,9 +23,7 @@  //  // has macros: -#if (__DMC__ >= 0x840)  #define BOOST_HAS_DIRENT_H  #define BOOST_HAS_STDINT_H  #define BOOST_HAS_WINTHREADS -#endif  #if (__DMC__ >= 0x847) @@ -87,10 +77,11 @@  #define BOOST_NO_CXX11_VARIADIC_TEMPLATES  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS -#if (__DMC__ < 0x812) -#define BOOST_NO_CXX11_VARIADIC_MACROS -#endif - -#if __DMC__ < 0x800 +#if (__DMC__ <= 0x840)  #error "Compiler not supported or configured - please reconfigure"  #endif diff --git a/3rdParty/Boost/src/boost/config/compiler/gcc.hpp b/3rdParty/Boost/src/boost/config/compiler/gcc.hpp index de8875c..ef6b07e 100644 --- a/3rdParty/Boost/src/boost/config/compiler/gcc.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/gcc.hpp @@ -1,62 +1,30 @@ -//  (C) Copyright John Maddock 2001 - 2003.  -//  (C) Copyright Darin Adler 2001 - 2002.  -//  (C) Copyright Jens Maurer 2001 - 2002.  -//  (C) Copyright Beman Dawes 2001 - 2003.  -//  (C) Copyright Douglas Gregor 2002.  -//  (C) Copyright David Abrahams 2002 - 2003.  -//  (C) Copyright Synge Todo 2003.  -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  (C) Copyright John Maddock 2001 - 2003. +//  (C) Copyright Darin Adler 2001 - 2002. +//  (C) Copyright Jens Maurer 2001 - 2002. +//  (C) Copyright Beman Dawes 2001 - 2003. +//  (C) Copyright Douglas Gregor 2002. +//  (C) Copyright David Abrahams 2002 - 2003. +//  (C) Copyright Synge Todo 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. -//  GNU C++ compiler setup: - -#if __GNUC__ < 3 -#   if __GNUC_MINOR__ == 91 -       // egcs 1.1 won't parse shared_ptr.hpp without this: -#      define BOOST_NO_AUTO_PTR -#   endif -#   if __GNUC_MINOR__ < 95 -      // -      // Prior to gcc 2.95 member templates only partly -      // work - define BOOST_MSVC6_MEMBER_TEMPLATES -      // instead since inline member templates mostly work. -      // -#     define BOOST_NO_MEMBER_TEMPLATES -#     if __GNUC_MINOR__ >= 9 -#       define BOOST_MSVC6_MEMBER_TEMPLATES -#     endif -#   endif - -#   if __GNUC_MINOR__ < 96 -#     define BOOST_NO_SFINAE -#   endif - -#   if __GNUC_MINOR__ <= 97 -#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#     define BOOST_NO_OPERATORS_IN_NAMESPACE -#   endif - -#   define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -#   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#   define BOOST_NO_IS_ABSTRACT -#   define BOOST_NO_CXX11_EXTERN_TEMPLATE -// Variadic macros do not exist for gcc versions before 3.0 -#   define BOOST_NO_CXX11_VARIADIC_MACROS -#elif __GNUC__ == 3 +//  GNU C++ compiler setup. + +// +// Define BOOST_GCC so we know this is "real" GCC and not some pretender: +// +#if !defined(__CUDACC__) +#define BOOST_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +#endif + +#if __GNUC__ == 3  #  if defined (__PATHSCALE__)  #     define BOOST_NO_TWO_PHASE_NAME_LOOKUP  #     define BOOST_NO_IS_ABSTRACT  #  endif -   // -   // gcc-3.x problems: -   // -   // Bug specific to gcc 3.1 and 3.2: -   // -#  if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2)) -#     define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -#  endif +  #  if __GNUC_MINOR__ < 4  #     define BOOST_NO_IS_ABSTRACT @@ -74,4 +42,9 @@  #endif +// GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +#define BOOST_HAS_PRAGMA_ONCE +#endif +  #if __GNUC__ < 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 4 )  // Previous versions of GCC did not completely implement value-initialization: @@ -98,17 +71,23 @@  #if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)  # define BOOST_HAS_THREADS -#endif  +#endif  //  // gcc has "long long" +// Except on Darwin with standard compliance enabled (-pedantic) +// Apple gcc helpfully defines this macro we can query  // -#define BOOST_HAS_LONG_LONG +#if !defined(__DARWIN_NO_LONG_LONG) +# define BOOST_HAS_LONG_LONG +#endif  //  // gcc implements the named return value optimization since version 3.1  // -#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )  #define BOOST_HAS_NRVO -#endif + +// Branch prediction hints +#define BOOST_LIKELY(x) __builtin_expect(x, 1) +#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)  // @@ -117,17 +96,17 @@  #if __GNUC__ >= 4  #  if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(__CYGWIN__) -     // All Win32 development environments, including 64-bit Windows and MinGW, define  +     // All Win32 development environments, including 64-bit Windows and MinGW, define       // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,       // so does not define _WIN32 or its variants.  #    define BOOST_HAS_DECLSPEC -#    define BOOST_SYMBOL_EXPORT __attribute__((dllexport)) -#    define BOOST_SYMBOL_IMPORT __attribute__((dllimport)) +#    define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__)) +#    define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))  #  else -#    define BOOST_SYMBOL_EXPORT __attribute__((visibility("default"))) +#    define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))  #    define BOOST_SYMBOL_IMPORT  #  endif -#  define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default"))) +#  define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))  #else -// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined   +// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined  #  define BOOST_SYMBOL_EXPORT  #endif @@ -147,4 +126,17 @@  #endif +// +// Recent GCC versions have __int128 when in 64-bit mode. +// +// We disable this if the compiler is really nvcc as it +// doesn't actually support __int128 as of CUDA_VERSION=5000 +// even though it defines __SIZEOF_INT128__. +// See https://svn.boost.org/trac/boost/ticket/8048 +// Only re-enable this for nvcc if you're absolutely sure +// of the circumstances under which it's supported: +// +#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__) +#  define BOOST_HAS_INT128 +#endif  // C++0x features in 4.3.n and later @@ -164,5 +156,5 @@  #  define BOOST_NO_CXX11_STATIC_ASSERT -// Variadic templates compiler:  +// Variadic templates compiler:  //   http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html  #  if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)) @@ -183,4 +175,6 @@  #  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS  #  define BOOST_NO_CXX11_DELETED_FUNCTIONS +#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#  define BOOST_NO_CXX11_INLINE_NAMESPACES  #endif @@ -189,4 +183,9 @@  #endif +// GCC 4.5 forbids declaration of defaulted functions in private or protected sections +#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) +#  define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +#endif +  // C++0x features in 4.5.0 and later  // @@ -217,10 +216,23 @@  #endif +// C++0x features in 4.7.n and later +//  #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)  #  define BOOST_NO_CXX11_TEMPLATE_ALIASES +#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#endif + +// C++0x features in 4.8.n and later +// +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#  define BOOST_NO_CXX11_ALIGNAS  #endif -// C++0x features not supported at all yet + +// C++0x features in 4.8.1 and later  // -#define BOOST_NO_CXX11_DECLTYPE_N3276 +#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40801) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#  define BOOST_NO_CXX11_DECLTYPE_N3276 +#  define BOOST_NO_CXX11_REF_QUALIFIERS +#endif  #ifndef BOOST_COMPILER @@ -236,6 +248,6 @@  // versions check: -// we don't know gcc prior to version 2.90: -#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90) +// we don't know gcc prior to version 3.30: +#if (__GNUC__ < 3) || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3))  #  error "Compiler not configured - please reconfigure"  #endif diff --git a/3rdParty/Boost/src/boost/config/compiler/gcc_xml.hpp b/3rdParty/Boost/src/boost/config/compiler/gcc_xml.hpp index eaed4b5..f04af06 100644 --- a/3rdParty/Boost/src/boost/config/compiler/gcc_xml.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/gcc_xml.hpp @@ -1,5 +1,5 @@ -//  (C) Copyright John Maddock 2006.  -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  (C) Copyright John Maddock 2006. +//  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) @@ -19,5 +19,5 @@  #if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__)  # define BOOST_HAS_THREADS -#endif  +#endif  // @@ -45,5 +45,5 @@  #  define BOOST_NO_CXX11_DELETED_FUNCTIONS  #  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#  define BOOST_NO_CXX11_SCOPED_ENUMS   +#  define BOOST_NO_CXX11_SCOPED_ENUMS  #  define BOOST_NO_SFINAE_EXPR  #  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS @@ -54,5 +54,10 @@  #  define BOOST_NO_CXX11_UNICODE_LITERALS  #  define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#  define BOOST_NO_CXX11_ALIGNAS +#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#  define BOOST_NO_CXX11_INLINE_NAMESPACES +#  define BOOST_NO_CXX11_REF_QUALIFIERS  #define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ diff --git a/3rdParty/Boost/src/boost/config/compiler/hp_acc.hpp b/3rdParty/Boost/src/boost/config/compiler/hp_acc.hpp index 4f5f81b..fb63839 100644 --- a/3rdParty/Boost/src/boost/config/compiler/hp_acc.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/hp_acc.hpp @@ -1,10 +1,10 @@ -//  (C) Copyright John Maddock 2001 - 2003.  -//  (C) Copyright Jens Maurer 2001 - 2003.  -//  (C) Copyright Aleksey Gurtovoy 2002.  -//  (C) Copyright David Abrahams 2002 - 2003.  -//  (C) Copyright Toon Knapen 2003.  +//  (C) Copyright John Maddock 2001 - 2003. +//  (C) Copyright Jens Maurer 2001 - 2003. +//  (C) Copyright Aleksey Gurtovoy 2002. +//  (C) Copyright David Abrahams 2002 - 2003. +//  (C) Copyright Toon Knapen 2003.  //  (C) Copyright Boris Gubenko 2006 - 2007. -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  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) @@ -44,5 +44,5 @@  #    define BOOST_NO_IS_ABSTRACT  #    define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#endif  +#endif  // optional features rather than defects: @@ -119,6 +119,11 @@  #define BOOST_NO_CXX11_UNICODE_LITERALS  #define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS -/*  +/*    See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and        https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436 diff --git a/3rdParty/Boost/src/boost/config/compiler/intel.hpp b/3rdParty/Boost/src/boost/config/compiler/intel.hpp index 8c746c1..cbc9422 100644 --- a/3rdParty/Boost/src/boost/config/compiler/intel.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/intel.hpp @@ -28,5 +28,5 @@  // 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__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) +#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__)  #  define BOOST_INTEL_STDCXX0X  #endif @@ -48,9 +48,4 @@  #endif -#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER) -#  define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -#  define BOOST_NO_TEMPLATE_TEMPLATES -#endif -  #if (BOOST_INTEL_CXX_VERSION <= 600) @@ -112,5 +107,5 @@  #  endif  #endif -#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1200) +#if (defined(__GNUC__) && (__GNUC__ < 4)) || (defined(_WIN32) && (BOOST_INTEL_CXX_VERSION <= 1200)) || (BOOST_INTEL_CXX_VERSION <= 1200)  // GCC or VC emulation:  #define BOOST_NO_TWO_PHASE_NAME_LOOKUP @@ -155,8 +150,16 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};  #endif +// Branch prediction hints +// I'm not sure 8.0 was the first version to support these builtins, +// update the condition if the version is not accurate. (Andrey Semashev) +#if defined(__GNUC__) && BOOST_INTEL_CXX_VERSION >= 800 +#define BOOST_LIKELY(x) __builtin_expect(x, 1) +#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) +#endif +  //  // versions check: -// we don't support Intel prior to version 5.0: -#if BOOST_INTEL_CXX_VERSION < 500 +// we don't support Intel prior to version 6.0: +#if BOOST_INTEL_CXX_VERSION < 600  #  error "Compiler not supported or configured - please reconfigure"  #endif @@ -174,13 +177,13 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};  //  // An attempt to value-initialize a pointer-to-member may trigger an -// internal error on Intel <= 11.1 (last checked version), as was  +// internal error on Intel <= 11.1 (last checked version), as was  // reported by John Maddock, Intel support issue 589832, May 2010.  // Moreover, according to test results from Huang-Vista-x86_32_intel, -// intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some  +// intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some  // cases when it should be value-initialized.  // (Niels Dekker, LKEB, May 2010)  // Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression).  #if defined(__INTEL_COMPILER) -#  if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) +#  if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1500))  #    define BOOST_NO_COMPLETE_VALUE_INITIALIZATION  #  endif @@ -222,8 +225,9 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};  #  undef  BOOST_NO_CXX11_AUTO_DECLARATIONS  #  undef  BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#  undef  BOOST_NO_CXX11_TRAILING_RESULT_TYPES  #endif  // icl Version 12.1.0.233 Build 20110811 and possibly some other builds -// had an incorrect __INTEL_COMPILER value of 9999. Intel say this has been fixed.  +// had an incorrect __INTEL_COMPILER value of 9999. Intel say this has been fixed.  #if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION > 1200)  #  undef  BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS @@ -235,6 +239,43 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};  // http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/ -// continues to list scoped enum support as "Partial"  -//#  undef  BOOST_NO_CXX11_SCOPED_ENUMS  +// continues to list scoped enum support as "Partial" +//#  undef  BOOST_NO_CXX11_SCOPED_ENUMS +#endif +#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(_MSC_VER) +#  undef BOOST_NO_CXX11_INLINE_NAMESPACES +#  undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +// This one generates internal compiler errors in multiprecision, disabled for now: +//#  undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS   +// This one generates errors when used with conditional exception specifications, for example in multiprecision: +//#  undef BOOST_NO_CXX11_NOEXCEPT +#  undef BOOST_NO_CXX11_RANGE_BASED_FOR +#  undef BOOST_NO_CXX11_SCOPED_ENUMS +#  undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#endif +#if (BOOST_INTEL_CXX_VERSION >= 1310) +#  undef  BOOST_NO_SFINAE_EXPR +#endif +#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1400) && !defined(_MSC_VER) +#  undef BOOST_NO_CXX11_UNICODE_LITERALS  +#  undef BOOST_NO_CXX11_RAW_LITERALS  +// This one generates errors when used with conditional exception specifications, for example in multiprecision: +//#  undef BOOST_NO_CXX11_NOEXCEPT  +// This breaks multiprecision: +//#  undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS  +#  undef BOOST_NO_CXX11_HDR_THREAD  +#  undef BOOST_NO_CXX11_CHAR32_T  +#  undef BOOST_NO_CXX11_CHAR16_T +#  undef BOOST_NO_CXX11_REF_QUALIFIERS +#endif + +#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310) +#  define BOOST_NO_CXX11_HDR_FUTURE +#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#endif + +#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION == 1400) +// A regression in Intel's compiler means that <tuple> seems to be broken in this release as well as <future> : +#  define BOOST_NO_CXX11_HDR_FUTURE +#  define BOOST_NO_CXX11_HDR_TUPLE  #endif @@ -248,4 +289,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};  #  define  BOOST_NO_CXX11_DEFAULTED_FUNCTIONS  #  define  BOOST_NO_CXX11_TEMPLATE_ALIASES +#  if(BOOST_INTEL_CXX_VERSION < 1310) +#     define  BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#  endif  #endif @@ -257,7 +301,15 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};  #endif +#if defined(_MSC_VER) && (_MSC_VER >= 1600) +#  define BOOST_HAS_STDINT_H +#endif + +#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) +#  define BOOST_HAS_INT128 +#endif +  //  // last known and checked version: -#if (BOOST_INTEL_CXX_VERSION > 1200) +#if (BOOST_INTEL_CXX_VERSION > 1310)  #  if defined(BOOST_ASSERT_CONFIG)  #     error "Unknown compiler version - please run the configure tests and report the results" diff --git a/3rdParty/Boost/src/boost/config/compiler/metrowerks.hpp b/3rdParty/Boost/src/boost/config/compiler/metrowerks.hpp index 184cb71..c000215 100644 --- a/3rdParty/Boost/src/boost/config/compiler/metrowerks.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/metrowerks.hpp @@ -1,10 +1,10 @@ -//  (C) Copyright John Maddock 2001.  -//  (C) Copyright Darin Adler 2001.  -//  (C) Copyright Peter Dimov 2001.  -//  (C) Copyright David Abrahams 2001 - 2002.  -//  (C) Copyright Beman Dawes 2001 - 2003.  -//  (C) Copyright Stefan Slapeta 2004.  -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  (C) Copyright John Maddock 2001. +//  (C) Copyright Darin Adler 2001. +//  (C) Copyright Peter Dimov 2001. +//  (C) Copyright David Abrahams 2001 - 2002. +//  (C) Copyright Beman Dawes 2001 - 2003. +//  (C) Copyright Stefan Slapeta 2004. +//  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) @@ -16,5 +16,5 @@  #   ifdef _MSL_NO_LOCALE  #     define BOOST_NO_STD_LOCALE -#   endif  +#   endif  #   if __MWERKS__ <= 0x2301  // 5.3 @@ -91,5 +91,5 @@  #  define BOOST_HAS_RVALUE_REFS  #else -#  define BOOST_NO_CXX11_RVALUE_REFERENCES               +#  define BOOST_NO_CXX11_RVALUE_REFERENCES  #endif  #define BOOST_NO_CXX11_AUTO_DECLARATIONS @@ -120,4 +120,9 @@  #define BOOST_NO_CXX11_VARIADIC_MACROS  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS  #define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) diff --git a/3rdParty/Boost/src/boost/config/compiler/mpw.hpp b/3rdParty/Boost/src/boost/config/compiler/mpw.hpp index 14adee0..7a4ffa1 100644 --- a/3rdParty/Boost/src/boost/config/compiler/mpw.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/mpw.hpp @@ -1,6 +1,6 @@ -//  (C) Copyright John Maddock 2001 - 2002.  -//  (C) Copyright Aleksey Gurtovoy 2002.  -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  (C) Copyright John Maddock 2001 - 2002. +//  (C) Copyright Aleksey Gurtovoy 2002. +//  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) @@ -69,5 +69,9 @@  #define BOOST_NO_CXX11_VARIADIC_MACROS  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX - +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS  //  // versions check: diff --git a/3rdParty/Boost/src/boost/config/compiler/nvcc.hpp b/3rdParty/Boost/src/boost/config/compiler/nvcc.hpp index 03203fb..bbe81f6 100644 --- a/3rdParty/Boost/src/boost/config/compiler/nvcc.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/nvcc.hpp @@ -15,14 +15,2 @@  // BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device  #define BOOST_GPU_ENABLED __host__ __device__ - -// Boost support macro for NVCC  -// NVCC Basically behaves like some flavor of MSVC6 + some specific quirks -#ifdef __GNUC__ - -#include <boost/config/compiler/gcc.hpp> - -#elif defined(_MSC_VER) - -#include <boost/config/compiler/visualc.hpp> - -#endif diff --git a/3rdParty/Boost/src/boost/config/compiler/pathscale.hpp b/3rdParty/Boost/src/boost/config/compiler/pathscale.hpp index 3041126..0625d7a 100644 --- a/3rdParty/Boost/src/boost/config/compiler/pathscale.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/pathscale.hpp @@ -1,6 +1,6 @@  //  (C) Copyright Bryce Lelbach 2011 -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  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) @@ -77,4 +77,8 @@  #  define BOOST_NO_CXX11_HDR_CODECVT  #  define BOOST_NO_CXX11_HDR_CHRONO +#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#  define BOOST_NO_CXX11_ALIGNAS +#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#  define BOOST_NO_CXX11_INLINE_NAMESPACES +#  define BOOST_NO_CXX11_REF_QUALIFIERS  #endif - diff --git a/3rdParty/Boost/src/boost/config/compiler/pgi.hpp b/3rdParty/Boost/src/boost/config/compiler/pgi.hpp index fa32fef..5cf61fa 100644 --- a/3rdParty/Boost/src/boost/config/compiler/pgi.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/pgi.hpp @@ -42,4 +42,7 @@  #define BOOST_HAS_NRVO  #define BOOST_HAS_LONG_LONG +#if defined(linux) || defined(__linux) || defined(__linux__) +#  define BOOST_HAS_STDINT_H +#endif  // options --enable-test wants undefined @@ -112,4 +115,9 @@  #define BOOST_NO_CXX11_HDR_CHRONO  #define BOOST_NO_CXX11_HDR_ARRAY +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS  // diff --git a/3rdParty/Boost/src/boost/config/compiler/sunpro_cc.hpp b/3rdParty/Boost/src/boost/config/compiler/sunpro_cc.hpp index 65beb50..f2c8576 100644 --- a/3rdParty/Boost/src/boost/config/compiler/sunpro_cc.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/sunpro_cc.hpp @@ -1,9 +1,9 @@ -//  (C) Copyright John Maddock 2001.  -//  (C) Copyright Jens Maurer 2001 - 2003.  -//  (C) Copyright Peter Dimov 2002.  -//  (C) Copyright Aleksey Gurtovoy 2002 - 2003.  -//  (C) Copyright David Abrahams 2002.  -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  (C) Copyright John Maddock 2001. +//  (C) Copyright Jens Maurer 2001 - 2003. +//  (C) Copyright Peter Dimov 2002. +//  (C) Copyright Aleksey Gurtovoy 2002 - 2003. +//  (C) Copyright David Abrahams 2002. +//  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) @@ -35,5 +35,5 @@  #    endif -#    if (__SUNPRO_CC <= 0x530)  +#    if (__SUNPRO_CC <= 0x530)         // Requesting debug info (-g) with Boost.Python results         // in an internal compiler error for "static const" @@ -58,5 +58,5 @@  #    endif -#    if (__SUNPRO_CC < 0x570)  +#    if (__SUNPRO_CC < 0x570)  #      define BOOST_NO_TEMPLATE_TEMPLATES         // see http://lists.boost.org/MailArchives/boost/msg47184.php @@ -66,5 +66,5 @@  #      define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS  #    endif -#    if (__SUNPRO_CC <= 0x580)  +#    if (__SUNPRO_CC <= 0x580)  #      define BOOST_NO_IS_ABSTRACT  #    endif @@ -128,4 +128,9 @@  #define BOOST_NO_CXX11_VARIADIC_MACROS  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS  // diff --git a/3rdParty/Boost/src/boost/config/compiler/vacpp.hpp b/3rdParty/Boost/src/boost/config/compiler/vacpp.hpp index 2410d5a..bb7d5f5 100644 --- a/3rdParty/Boost/src/boost/config/compiler/vacpp.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/vacpp.hpp @@ -1,9 +1,9 @@ -//  (C) Copyright John Maddock 2001 - 2003.  -//  (C) Copyright Toon Knapen 2001 - 2003.  -//  (C) Copyright Lie-Quan Lee 2001.  -//  (C) Copyright Markus Schoepflin 2002 - 2003.  -//  (C) Copyright Beman Dawes 2002 - 2003.  -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  (C) Copyright John Maddock 2001 - 2003. +//  (C) Copyright Toon Knapen 2001 - 2003. +//  (C) Copyright Lie-Quan Lee 2001. +//  (C) Copyright Markus Schoepflin 2002 - 2003. +//  (C) Copyright Beman Dawes 2002 - 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) @@ -17,5 +17,5 @@  #endif -#if (__IBMCPP__ <= 502)  +#if (__IBMCPP__ <= 502)  // Actually the compiler supports inclass member initialization but it  // requires a definition for the class member and it doesn't recognize @@ -31,7 +31,7 @@  #if (__IBMCPP__ <= 1110) -// XL C++ V11.1 and earlier versions may not always value-initialize   -// a temporary object T(), when T is a non-POD aggregate class type.  -// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it  +// XL C++ V11.1 and earlier versions may not always value-initialize +// a temporary object T(), when T is a non-POD aggregate class type. +// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it  // high priority. -- Niels Dekker (LKEB), May 2010.  #  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION @@ -54,6 +54,6 @@  #endif  // -// last known and checked version is 1110: -#if (__IBMCPP__ > 1110) +// last known and checked version is 1210: +#if (__IBMCPP__ > 1210)  #  if defined(BOOST_ASSERT_CONFIG)  #     error "Unknown compiler version - please run the configure tests and report the results" @@ -107,4 +107,5 @@  #define BOOST_NO_CXX11_RANGE_BASED_FOR  #define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS  #if ! __IBMCPP_RVALUE_REFERENCES  #  define BOOST_NO_CXX11_RVALUE_REFERENCES @@ -126,5 +127,6 @@  #  define BOOST_NO_CXX11_VARIADIC_MACROS  #endif - - - +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS diff --git a/3rdParty/Boost/src/boost/config/compiler/visualc.hpp b/3rdParty/Boost/src/boost/config/compiler/visualc.hpp index 0b11faa..842f086 100644 --- a/3rdParty/Boost/src/boost/config/compiler/visualc.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/visualc.hpp @@ -1,10 +1,10 @@ -//  (C) Copyright John Maddock 2001 - 2003.  -//  (C) Copyright Darin Adler 2001 - 2002.  -//  (C) Copyright Peter Dimov 2001.  -//  (C) Copyright Aleksey Gurtovoy 2002.  -//  (C) Copyright David Abrahams 2002 - 2003.  -//  (C) Copyright Beman Dawes 2002 - 2003.  -//  Use, modification and distribution are subject to the  -//  Boost Software License, Version 1.0. (See accompanying file  +//  (C) Copyright John Maddock 2001 - 2003. +//  (C) Copyright Darin Adler 2001 - 2002. +//  (C) Copyright Peter Dimov 2001. +//  (C) Copyright Aleksey Gurtovoy 2002. +//  (C) Copyright David Abrahams 2002 - 2003. +//  (C) Copyright Beman Dawes 2002 - 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) @@ -35,65 +35,18 @@  #pragma warning( disable : 4503 ) // warning: decorated name length exceeded +#define BOOST_HAS_PRAGMA_ONCE +  //  // versions check: -// we don't support Visual C++ prior to version 6: -#if _MSC_VER < 1200 +// we don't support Visual C++ prior to version 7.1: +#if _MSC_VER < 1310  #  error "Compiler not supported or configured - please reconfigure"  #endif -#if _MSC_VER < 1300  // 1200 == VC++ 6.0, 1200-1202 == eVC++4 -#  pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info -#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -#  define BOOST_NO_VOID_RETURNS -#  define BOOST_NO_EXCEPTION_STD_NAMESPACE - -#  if _MSC_VER == 1202 -#    define BOOST_NO_STD_TYPEINFO -#  endif - +#if _MSC_FULL_VER < 180020827 +#  define BOOST_NO_FENV_H  #endif -/// Visual Studio has no fenv.h -#define BOOST_NO_FENV_H - -#if (_MSC_VER < 1310)  // 130X == VC++ 7.0 - -#  if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)      // VC7 bug with /Za -#    define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -#  endif - -#  define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -#  define BOOST_NO_PRIVATE_IN_AGGREGATE -#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -#  define BOOST_NO_INTEGRAL_INT64_T -#  define BOOST_NO_DEDUCED_TYPENAME -#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE - -//    VC++ 6/7 has member templates but they have numerous problems including -//    cases of silent failure, so for safety we define: -#  define BOOST_NO_MEMBER_TEMPLATES -//    For VC++ experts wishing to attempt workarounds, we define: -#  define BOOST_MSVC6_MEMBER_TEMPLATES - -#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -#  define BOOST_NO_CV_VOID_SPECIALIZATIONS -#  define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -#  define BOOST_NO_USING_TEMPLATE -#  define BOOST_NO_SWPRINTF -#  define BOOST_NO_TEMPLATE_TEMPLATES -#  define BOOST_NO_SFINAE -#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -#  define BOOST_NO_IS_ABSTRACT -#  define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS -// TODO: what version is meant here? Have there really been any fixes in cl 12.01 (as e.g. shipped with eVC4)? -#  if (_MSC_VER >= 1300) -#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -#  endif - -#endif - -#if _MSC_VER < 1400  +#if _MSC_VER < 1400  // although a conforming signature for swprint exists in VC7.1  // it appears not to actually work: @@ -105,9 +58,4 @@  #endif -#if defined(UNDER_CE) -// Windows CE does not have a conforming signature for swprintf -#  define BOOST_NO_SWPRINTF -#endif -  #if _MSC_VER < 1500  // 140X == VC++ 8.0  #  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -120,7 +68,7 @@ -// MSVC (including the latest checked version) has not yet completely  +// MSVC (including the latest checked version) has not yet completely  // implemented value-initialization, as is reported: -// "VC++ does not value-initialize members of derived classes without  +// "VC++ does not value-initialize members of derived classes without  // user-declared constructor", reported in 2009 by Sylvester Hesp:  // https://connect.microsoft.com/VisualStudio/feedback/details/484295 @@ -135,35 +83,19 @@  #  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -#if _MSC_VER < 1600  || !defined(BOOST_STRICT_CONFIG) // 150X == VC++ 9.0 -#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#endif -  #ifndef _NATIVE_WCHAR_T_DEFINED  #  define BOOST_NO_INTRINSIC_WCHAR_T  #endif -#if defined(_WIN32_WCE) || defined(UNDER_CE) -#  define BOOST_NO_SWPRINTF -#endif - -// we have ThreadEx or GetSystemTimeAsFileTime unless we're running WindowsCE -#if !defined(_WIN32_WCE) && !defined(UNDER_CE) -#  define BOOST_HAS_THREADEX -#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME -#endif - -//    -// check for exception handling support:    +// +// check for exception handling support:  #if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS) -#  define BOOST_NO_EXCEPTIONS    -#endif  +#  define BOOST_NO_EXCEPTIONS +#endif  //  // __int64 support:  // -#if (_MSC_VER >= 1200) -#   define BOOST_HAS_MS_INT64 -#endif -#if (_MSC_VER >= 1310) && (defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400)) +#define BOOST_HAS_MS_INT64 +#if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400)  #   define BOOST_HAS_LONG_LONG  #else @@ -174,5 +106,5 @@  #endif  // -// disable Win32 API's if compiler extentions are +// disable Win32 API's if compiler extensions are  // turned off:  // @@ -185,4 +117,14 @@  // +// TR1 features: +// +#if _MSC_VER >= 1700 +// # define BOOST_HAS_TR1_HASH			// don't know if this is true yet. +// # define BOOST_HAS_TR1_TYPE_TRAITS	// don't know if this is true yet. +# define BOOST_HAS_TR1_UNORDERED_MAP +# define BOOST_HAS_TR1_UNORDERED_SET +#endif + +//  // C++0x features  // @@ -205,5 +147,5 @@  #endif -// C++ features supported by VC++ 11 (aka 2012) +// C++11 features supported by VC++ 11 (aka 2012)  //  #if _MSC_VER < 1700 @@ -212,22 +154,32 @@  #endif // _MSC_VER < 1700 -// C++0x features not supported by any versions +// C++11 features supported by VC++ 12 (aka 2013). +// +#if _MSC_FULL_VER < 180020827 +#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#  define BOOST_NO_CXX11_DELETED_FUNCTIONS +#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#  define BOOST_NO_CXX11_RAW_LITERALS +#  define BOOST_NO_CXX11_TEMPLATE_ALIASES +#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#  define BOOST_NO_CXX11_DECLTYPE_N3276 +#endif + +// C++11 features not supported by any versions  #define BOOST_NO_CXX11_CHAR16_T  #define BOOST_NO_CXX11_CHAR32_T  #define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST  #define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_REF_QUALIFIERS  #define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES  #define BOOST_NO_SFINAE_EXPR  #define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_INLINE_NAMESPACES +  //  // prefix and suffix headers: @@ -242,5 +194,5 @@  #ifndef BOOST_COMPILER  // TODO: -// these things are mostly bogus. 1200 means version 12.0 of the compiler. The  +// these things are mostly bogus. 1200 means version 12.0 of the compiler. The  // artificial versions assigned to them only refer to the versions of some IDE  // these compilers have been shipped with, and even that is not all of it. Some @@ -248,9 +200,5 @@  // IOW, you can't use these 'versions' in any sensible way. Sorry.  # if defined(UNDER_CE) -#   if _MSC_VER < 1200 -      // Note: these are so far off, they are not really supported -#   elif _MSC_VER < 1300 // eVC++ 4 comes with 1200-1202 -#     define BOOST_COMPILER_VERSION evc4.0 -#   elif _MSC_VER < 1400 +#   if _MSC_VER < 1400        // Note: I'm not aware of any CE compiler with version 13xx  #      if defined(BOOST_ASSERT_CONFIG) @@ -267,4 +215,6 @@  #   elif _MSC_VER < 1800   #     define BOOST_COMPILER_VERSION evc11  +#   elif _MSC_VER < 1900  +#     define BOOST_COMPILER_VERSION evc12  #   else  #      if defined(BOOST_ASSERT_CONFIG) @@ -275,9 +225,9 @@  #   endif  # else -#   if _MSC_VER < 1200 -      // Note: these are so far off, they are not really supported +#   if _MSC_VER < 1310 +      // Note: Versions up to 7.0 aren't supported.  #     define BOOST_COMPILER_VERSION 5.0  #   elif _MSC_VER < 1300 -#       define BOOST_COMPILER_VERSION 6.0 +#     define BOOST_COMPILER_VERSION 6.0  #   elif _MSC_VER < 1310  #     define BOOST_COMPILER_VERSION 7.0 @@ -291,5 +241,7 @@  #     define BOOST_COMPILER_VERSION 10.0  #   elif _MSC_VER < 1800  -#     define BOOST_COMPILER_VERSION 11.0  +#     define BOOST_COMPILER_VERSION 11.0 +#   elif _MSC_VER < 1900 +#     define BOOST_COMPILER_VERSION 12.0  #   else  #     define BOOST_COMPILER_VERSION _MSC_VER @@ -301,6 +253,6 @@  // -// last known and checked version is 1700 (VC11, aka 2011): -#if (_MSC_VER > 1700) +// last known and checked version is 18.00.20827.3 (VC12 RC, aka 2013 RC): +#if (_MSC_VER > 1800 && _MSC_FULL_VER > 180020827)  #  if defined(BOOST_ASSERT_CONFIG)  #     error "Unknown compiler version - please run the configure tests and report the results" | 
 Swift
 Swift