diff options
| author | Remko Tronçon <git@el-tramo.be> | 2010-03-28 15:46:49 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2010-03-28 15:46:49 (GMT) | 
| commit | f53a1ef582494458301b97bf6e546be52d7ff7e8 (patch) | |
| tree | 7571b5cbcbd8a8f1dd1c966c9045b6cb69f0e295 /3rdParty/Boost/src/boost/config/compiler | |
| parent | 638345680d72ca6acaf123f2c8c1c391f696e371 (diff) | |
| download | swift-contrib-f53a1ef582494458301b97bf6e546be52d7ff7e8.zip swift-contrib-f53a1ef582494458301b97bf6e546be52d7ff7e8.tar.bz2 | |
Moving submodule contents back.
Diffstat (limited to '3rdParty/Boost/src/boost/config/compiler')
19 files changed, 2018 insertions, 0 deletions
| diff --git a/3rdParty/Boost/src/boost/config/compiler/borland.hpp b/3rdParty/Boost/src/boost/config/compiler/borland.hpp new file mode 100644 index 0000000..c6413b3 --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/borland.hpp @@ -0,0 +1,267 @@ +//  (C) Copyright John Maddock 2001 - 2003. +//  (C) Copyright David Abrahams 2002 - 2003. +//  (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) + +//  See http://www.boost.org for most recent version. + +//  Borland C++ compiler setup: + +// +// versions check: +// we don't support Borland prior to version 5.4: +#if __BORLANDC__ < 0x540 +#  error "Compiler not supported or configured - please reconfigure" +#endif + +// last known compiler version: +#if (__BORLANDC__ > 0x610) +//#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +//#  else +//#     pragma message( "Unknown compiler version - please run the configure tests and report the results") +//#  endif +#elif (__BORLANDC__ == 0x600) +#  error "CBuilderX preview compiler is no longer supported" +#endif + +// +// Support macros to help with standard library detection +#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL) +#  define BOOST_BCB_WITH_ROGUE_WAVE +#elif __BORLANDC__ < 0x570 +#  define BOOST_BCB_WITH_STLPORT +#else +#  define BOOST_BCB_WITH_DINKUMWARE +#endif + +// +// Version 5.0 and below: +#   if __BORLANDC__ <= 0x0550 +// Borland C++Builder 4 and 5: +#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#     if __BORLANDC__ == 0x0550 +// Borland C++Builder 5, command-line compiler 5.5: +#       define BOOST_NO_OPERATORS_IN_NAMESPACE +#     endif +#   endif + +// Version 5.51 and below: +#if (__BORLANDC__ <= 0x551) +#  define BOOST_NO_CV_SPECIALIZATIONS +#  define BOOST_NO_CV_VOID_SPECIALIZATIONS +#  define BOOST_NO_DEDUCED_TYPENAME +// workaround for missing WCHAR_MAX/WCHAR_MIN: +#include <climits> +#include <cwchar> +#ifndef WCHAR_MAX +#  define WCHAR_MAX 0xffff +#endif +#ifndef WCHAR_MIN +#  define WCHAR_MIN 0 +#endif +#endif + +// Borland C++ Builder 6 and below: +#if (__BORLANDC__ <= 0x564) +#  define BOOST_NO_INTEGRAL_INT64_T + +#  ifdef NDEBUG +      // fix broken <cstring> so that Boost.test works: +#     include <cstring> +#     undef strcmp +#  endif +   // fix broken errno declaration: +#  include <errno.h> +#  ifndef errno +#     define errno errno +#  endif + +#endif + +// +// new bug in 5.61: +#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580) +   // this seems to be needed by the command line compiler, but not the IDE: +#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#endif + +// Borland C++ Builder 2006 Update 2 and below: +#if (__BORLANDC__ <= 0x582) +#  define BOOST_NO_SFINAE +#  define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +#  define BOOST_NO_TEMPLATE_TEMPLATES + +#  define BOOST_NO_PRIVATE_IN_AGGREGATE + +#  ifdef _WIN32 +#     define BOOST_NO_SWPRINTF +#  elif defined(linux) || defined(__linux__) || defined(__linux) +      // we should really be able to do without this +      // but the wcs* functions aren't imported into std:: +#     define BOOST_NO_STDC_NAMESPACE +      // _CPPUNWIND doesn't get automatically set for some reason: +#     pragma defineonoption BOOST_CPPUNWIND -x +#  endif +#endif + +// Borland C++ Builder 2007 December 2007 Update and below: +//#if (__BORLANDC__ <= 0x593) +#if (__BORLANDC__ <= 0x610)  // Beman has asked Alisdair for more info +   // we shouldn't really need this - but too many things choke +   // without it, this needs more investigation: +#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#  define BOOST_NO_IS_ABSTRACT +#  define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS + +// Temporary workaround +#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif + +// Borland C++ Builder 2008 and below: +#if (__BORLANDC__ <= 0x601) +#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#  define BOOST_ILLEGAL_CV_REFERENCES +#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#  define BOOST_NO_USING_TEMPLATE +#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +#endif + +// +//  Positive Feature detection +// +// Borland C++ Builder 2008 and below: +#if (__BORLANDC__ >= 0x599) +#  pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax +#endif +// +// C++0x Macros: +// +#if defined( BOOST_CODEGEAR_0X_SUPPORT ) && (__BORLANDC__ >= 0x610) +#  define BOOST_HAS_ALIGNOF +#  define BOOST_HAS_CHAR16_T +#  define BOOST_HAS_CHAR32_T +#  define BOOST_HAS_DECLTYPE +#  define BOOST_HAS_EXPLICIT_CONVERSION_OPS +#  define BOOST_HAS_REF_QUALIFIER +#  define BOOST_HAS_RVALUE_REFS +#  define BOOST_HAS_STATIC_ASSERT + +#  define BOOST_NO_EXTERN_TEMPLATE +#  define BOOST_NO_SCOPED_ENUMS +#  define BOOST_NO_VARIADIC_TEMPLATES +#  define BOOST_NO_CONSTEXPR +#  define BOOST_NO_DEFAULTED_FUNCTIONS +#  define BOOST_NO_DELETED_FUNCTIONS +#  define BOOST_NO_RAW_LITERALS +#  define BOOST_NO_UNICODE_LITERALS       // UTF-8 still not supported +#else +#  define BOOST_NO_CHAR16_T +#  define BOOST_NO_CHAR32_T +#  define BOOST_NO_DECLTYPE +#  define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#  define BOOST_NO_EXTERN_TEMPLATE +#  define BOOST_NO_SCOPED_ENUMS +#  define BOOST_NO_STATIC_ASSERT +#  define BOOST_NO_RVALUE_REFERENCES +#  define BOOST_NO_VARIADIC_TEMPLATES +#  define BOOST_NO_CONSTEXPR +#  define BOOST_NO_DEFAULTED_FUNCTIONS +#  define BOOST_NO_DELETED_FUNCTIONS +#  define BOOST_NO_RAW_LITERALS +#  define BOOST_NO_UNICODE_LITERALS +#endif + +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_INITIALIZER_LISTS + +#if __BORLANDC__ >= 0x590 +#  define BOOST_HAS_TR1_HASH + +#  define BOOST_HAS_MACRO_USE_FACET +#endif + +// +// Post 0x561 we have long long and stdint.h: +#if __BORLANDC__ >= 0x561 +#  ifndef __NO_LONG_LONG +#     define BOOST_HAS_LONG_LONG +#  else +#     define BOOST_NO_LONG_LONG +#  endif +   // On non-Win32 platforms let the platform config figure this out: +#  ifdef _WIN32 +#      define BOOST_HAS_STDINT_H +#  endif +#endif + +// Borland C++Builder 6 defaults to using STLPort.  If _USE_OLD_RW_STL is +// defined, then we have 0x560 or greater with the Rogue Wave implementation +// which presumably has the std::DBL_MAX bug. +#if defined( BOOST_BCB_WITH_ROGUE_WAVE ) +// <climits> is partly broken, some macros define symbols that are really in +// namespace std, so you end up having to use illegal constructs like +// std::DBL_MAX, as a fix we'll just include float.h and have done with: +#include <float.h> +#endif +// +// __int64: +// +#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__) +#  define BOOST_HAS_MS_INT64 +#endif +// +// check for exception handling support: +// +#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) +#  define BOOST_NO_EXCEPTIONS +#endif +// +// all versions have a <dirent.h>: +// +#ifndef __STRICT_ANSI__ +#  define BOOST_HAS_DIRENT_H +#endif +// +// all versions support __declspec: +// +#ifndef __STRICT_ANSI__ +#  define BOOST_HAS_DECLSPEC +#endif +// +// ABI fixing headers: +// +#if __BORLANDC__ < 0x600 // not implemented for version 6 compiler yet +#ifndef BOOST_ABI_PREFIX +#  define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +#  define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" +#endif +#endif +// +// Disable Win32 support in ANSI mode: +// +#if __BORLANDC__ < 0x600 +#  pragma defineonoption BOOST_DISABLE_WIN32 -A +#elif defined(__STRICT_ANSI__) +#  define BOOST_DISABLE_WIN32 +#endif +// +// MSVC compatibility mode does some nasty things: +// TODO: look up if this doesn't apply to the whole 12xx range +// +#if defined(_MSC_VER) && (_MSC_VER <= 1200) +#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +#  define BOOST_NO_VOID_RETURNS +#endif + +#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) + + + diff --git a/3rdParty/Boost/src/boost/config/compiler/codegear.hpp b/3rdParty/Boost/src/boost/config/compiler/codegear.hpp new file mode 100644 index 0000000..803d17a --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/codegear.hpp @@ -0,0 +1,153 @@ +//  (C) Copyright John Maddock 2001 - 2003. +//  (C) Copyright David Abrahams 2002 - 2003. +//  (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) + +//  See http://www.boost.org for most recent version. + +//  CodeGear C++ compiler setup: + +#if !defined( BOOST_WITH_CODEGEAR_WARNINGS ) +// these warnings occur frequently in optimized template code +# pragma warn -8004 // var assigned value, but never used +# pragma warn -8008 // condition always true/false +# pragma warn -8066 // dead code can never execute +# pragma warn -8104 // static members with ctors not threadsafe +# pragma warn -8105 // reference member in class without ctors +#endif +// +// versions check: +// last known and checked version is 0x610 +#if (__CODEGEARC__ > 0x610) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  else +#     pragma message( "Unknown compiler version - please run the configure tests and report the results") +#  endif +#endif + +// CodeGear C++ Builder 2009 +#if (__CODEGEARC__ <= 0x610) +#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#  define BOOST_NO_PRIVATE_IN_AGGREGATE +#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +#  define BOOST_NO_USING_TEMPLATE +   // we shouldn't really need this - but too many things choke +   // without it, this needs more investigation: +#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#  define BOOST_NO_TYPENAME_WITH_CTOR    // Cannot use typename keyword when making temporaries of a dependant type +#  define BOOST_NO_NESTED_FRIENDSHIP     // TC1 gives nested classes access rights as any other member + +// Temporary hack, until specific MPL preprocessed headers are generated +#  define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS + +#  ifdef NDEBUG +      // fix broken <cstring> so that Boost.test works: +#     include <cstring> +#     undef strcmp +#  endif +   // fix broken errno declaration: +#  include <errno.h> +#  ifndef errno +#     define errno errno +#  endif + +#endif + +// +// C++0x macros: +// +#define BOOST_HAS_CHAR16_T +#define BOOST_HAS_CHAR32_T +#define BOOST_HAS_LONG_LONG +// #define BOOST_HAS_ALIGNOF +#define BOOST_HAS_DECLTYPE +#define BOOST_HAS_EXPLICIT_CONVERSION_OPS +// #define BOOST_HAS_RVALUE_REFS +#define BOOST_HAS_SCOPED_ENUM +// #define BOOST_HAS_STATIC_ASSERT +#define BOOST_HAS_STD_TYPE_TRAITS + +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS + +// +// TR1 macros: +// +#define BOOST_HAS_TR1_HASH +#define BOOST_HAS_TR1_TYPE_TRAITS +#define BOOST_HAS_TR1_UNORDERED_MAP +#define BOOST_HAS_TR1_UNORDERED_SET + +#define BOOST_HAS_MACRO_USE_FACET + +#define BOOST_NO_INITIALIZER_LISTS + +// On non-Win32 platforms let the platform config figure this out: +#ifdef _WIN32 +#  define BOOST_HAS_STDINT_H +#endif + +// +// __int64: +// +#if !defined(__STRICT_ANSI__) +#  define BOOST_HAS_MS_INT64 +#endif +// +// check for exception handling support: +// +#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) +#  define BOOST_NO_EXCEPTIONS +#endif +// +// all versions have a <dirent.h>: +// +#if !defined(__STRICT_ANSI__) +#  define BOOST_HAS_DIRENT_H +#endif +// +// all versions support __declspec: +// +#if !defined(__STRICT_ANSI__) +#  define BOOST_HAS_DECLSPEC +#endif +// +// ABI fixing headers: +// +#ifndef BOOST_ABI_PREFIX +#  define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +#  define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" +#endif +// +// Disable Win32 support in ANSI mode: +// +#  pragma defineonoption BOOST_DISABLE_WIN32 -A +// +// MSVC compatibility mode does some nasty things: +// TODO: look up if this doesn't apply to the whole 12xx range +// +#if defined(_MSC_VER) && (_MSC_VER <= 1200) +#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +#  define BOOST_NO_VOID_RETURNS +#endif + +#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__) + diff --git a/3rdParty/Boost/src/boost/config/compiler/comeau.hpp b/3rdParty/Boost/src/boost/config/compiler/comeau.hpp new file mode 100644 index 0000000..278222d --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/comeau.hpp @@ -0,0 +1,59 @@ +//  (C) Copyright John Maddock 2001.  +//  (C) Copyright Douglas Gregor 2001.  +//  (C) Copyright Peter Dimov 2001.  +//  (C) Copyright Aleksey Gurtovoy 2003.  +//  (C) Copyright Beman Dawes 2003.  +//  (C) Copyright Jens Maurer 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. + +//  Comeau C++ compiler setup: + +#include "boost/config/compiler/common_edg.hpp" + +#if (__COMO_VERSION__ <= 4245) + +#  if defined(_MSC_VER) && _MSC_VER <= 1300 +#     if _MSC_VER > 100 +         // only set this in non-strict mode: +#        define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +#     endif +#  endif + +// Void returns don't work when emulating VC 6 (Peter Dimov) +// TODO: look up if this doesn't apply to the whole 12xx range +#  if defined(_MSC_VER) && (_MSC_VER < 1300) +#     define BOOST_NO_VOID_RETURNS +#  endif + +#endif  // version 4245 + +// +// enable __int64 support in VC emulation mode +// +#  if defined(_MSC_VER) && (_MSC_VER >= 1200) +#     define BOOST_HAS_MS_INT64 +#  endif + +#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) + +// +// versions check: +// we don't know Comeau prior to version 4245: +#if __COMO_VERSION__ < 4245 +#  error "Compiler not configured - please reconfigure" +#endif +// +// last known and checked version is 4245: +#if (__COMO_VERSION__ > 4245) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  endif +#endif + + + + diff --git a/3rdParty/Boost/src/boost/config/compiler/common_edg.hpp b/3rdParty/Boost/src/boost/config/compiler/common_edg.hpp new file mode 100644 index 0000000..3e62bb0 --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/common_edg.hpp @@ -0,0 +1,90 @@ +//  (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  +//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +//  See http://www.boost.org for most recent version. + +// +// Options common to all edg based compilers. +// +// This is included from within the individual compiler mini-configs. + +#ifndef  __EDG_VERSION__ +#  error This file requires that __EDG_VERSION__ be defined. +#endif + +#if (__EDG_VERSION__ <= 238) +#   define BOOST_NO_INTEGRAL_INT64_T +#   define BOOST_NO_SFINAE +#endif + +#if (__EDG_VERSION__ <= 240) +#   define BOOST_NO_VOID_RETURNS +#endif + +#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) +#   define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +#endif + +#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) +#   define BOOST_NO_TEMPLATE_TEMPLATES +#endif  + +#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) +#   define BOOST_NO_IS_ABSTRACT +#endif  + +#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +#   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#endif  + +#if (__EDG_VERSION__ <= 310) || !defined(BOOST_STRICT_CONFIG) +// No support for initializer lists +#  define BOOST_NO_INITIALIZER_LISTS +#endif + +// See also kai.hpp which checks a Kai-specific symbol for EH +# if !defined(__KCC) && !defined(__EXCEPTIONS) +#     define BOOST_NO_EXCEPTIONS +# endif + +# if !defined(__NO_LONG_LONG) +#     define BOOST_HAS_LONG_LONG +# else +#     define BOOST_NO_LONG_LONG +# endif + +// +// C++0x features +// +//   See above for BOOST_NO_LONG_LONG +// +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#ifdef c_plusplus +// EDG has "long long" in non-strict mode +// However, some libraries have insufficient "long long" support +// #define BOOST_HAS_LONG_LONG +#endif + + + diff --git a/3rdParty/Boost/src/boost/config/compiler/compaq_cxx.hpp b/3rdParty/Boost/src/boost/config/compiler/compaq_cxx.hpp new file mode 100644 index 0000000..b44486c --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/compaq_cxx.hpp @@ -0,0 +1,19 @@ +//  (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. + +//  Tru64 C++ compiler setup (now HP): + +#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER) + +#include "boost/config/compiler/common_edg.hpp" + +// +// versions check: +// Nothing to do here? + + + diff --git a/3rdParty/Boost/src/boost/config/compiler/digitalmars.hpp b/3rdParty/Boost/src/boost/config/compiler/digitalmars.hpp new file mode 100644 index 0000000..5984312 --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/digitalmars.hpp @@ -0,0 +1,87 @@ +//  Copyright (C) Christof Meerwald 2003 +//  Copyright (C) Dan Watkins 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) + +//  Digital Mars C++ compiler setup: +#define BOOST_COMPILER __DMC_VERSION_STRING__ + +#define BOOST_HAS_LONG_LONG +#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 +#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#define BOOST_NO_OPERATORS_IN_NAMESPACE +#define BOOST_NO_UNREACHABLE_RETURN_DETECTION +#define BOOST_NO_SFINAE +#define BOOST_NO_USING_TEMPLATE +#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#define BOOST_NO_INITIALIZER_LISTS +#endif + +// +// has macros: +#if (__DMC__ >= 0x840) +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_STDINT_H +#define BOOST_HAS_WINTHREADS +#endif + +#if (__DMC__ >= 0x847) +#define BOOST_HAS_EXPM1 +#define BOOST_HAS_LOG1P +#endif + +// +// Is this really the best way to detect whether the std lib is in namespace std? +// +#include <cstddef> +#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD) +#  define BOOST_NO_STDC_NAMESPACE +#endif + + +// check for exception handling support: +#ifndef _CPPUNWIND +#  define BOOST_NO_EXCEPTIONS +#endif + +// +// C++0x features +// +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#if __DMC__ < 0x800 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is ...: +#if (__DMC__ > 0x848) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  endif +#endif diff --git a/3rdParty/Boost/src/boost/config/compiler/gcc.hpp b/3rdParty/Boost/src/boost/config/compiler/gcc.hpp new file mode 100644 index 0000000..62bf45e --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/gcc.hpp @@ -0,0 +1,177 @@ +//  (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 +#elif __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 +#  endif +#endif +#if __GNUC__ < 4 +// +// All problems to gcc-3.x and earlier here: +// +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +#ifndef __EXCEPTIONS +# 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 +// later if no threading API is detected. +// +#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) +# define BOOST_HAS_THREADS +#endif  + +// +// gcc has "long long" +// +#define BOOST_HAS_LONG_LONG + +// +// gcc implements the named return value optimization since version 3.1 +// +#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 ) +#define BOOST_HAS_NRVO +#endif +// +// RTTI and typeinfo detection is possible post gcc-4.3: +// +#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403 +#  ifndef __GXX_RTTI +#     define BOOST_NO_TYPEID +#     define BOOST_NO_RTTI +#  endif +#endif + +// +// C++0x features +// + +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_UNICODE_LITERALS +// See below for BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS + +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__) +// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are +// passed on the command line, which in turn defines +// __GXX_EXPERIMENTAL_CXX0X__. +#  define BOOST_HAS_DECLTYPE +#  define BOOST_HAS_RVALUE_REFS +#  define BOOST_HAS_STATIC_ASSERT +#  define BOOST_HAS_VARIADIC_TMPL +#else +#  define BOOST_NO_DECLTYPE +#  define BOOST_NO_RVALUE_REFERENCES +#  define BOOST_NO_STATIC_ASSERT + +// Variadic templates compiler:  +//   http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html +#  ifdef __VARIADIC_TEMPLATES +#    define BOOST_HAS_VARIADIC_TMPL +#  else +#    define BOOST_NO_VARIADIC_TEMPLATES +#  endif +#endif + +#if !defined(__GXX_EXPERIMENTAL_CXX0X__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) +#  define BOOST_NO_INITIALIZER_LISTS +#  define BOOST_NO_AUTO_DECLARATIONS +#endif + +// ConceptGCC compiler: +//   http://www.generic-programming.org/software/ConceptGCC/ +#ifdef __GXX_CONCEPTS__ +#  define BOOST_HAS_CONCEPTS +#  define BOOST_COMPILER "ConceptGCC version " __VERSION__ +#endif + +#ifndef BOOST_COMPILER +#  define BOOST_COMPILER "GNU C++ version " __VERSION__ +#endif + +// +// versions check: +// we don't know gcc prior to version 2.90: +#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90) +#  error "Compiler not configured - please reconfigure" +#endif +// +// last known and checked version is 4.3 (Pre-release): +#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 3)) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  else +// we don't emit warnings here anymore since there are no defect macros defined for +// gcc post 3.4, so any failures are gcc regressions... +//#     warning "Unknown compiler version - please run the configure tests and report the results" +#  endif +#endif + + diff --git a/3rdParty/Boost/src/boost/config/compiler/gcc_xml.hpp b/3rdParty/Boost/src/boost/config/compiler/gcc_xml.hpp new file mode 100644 index 0000000..5dd67c7 --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/gcc_xml.hpp @@ -0,0 +1,30 @@ +//  (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) + +//  See http://www.boost.org for most recent version. + +//  GCC-XML C++ compiler setup: + +#  if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3)) +#     define BOOST_NO_IS_ABSTRACT +#  endif + +// +// Threading support: Turn this on unconditionally here (except for +// those platforms where we can know for sure). It will get turned off again +// later if no threading API is detected. +// +#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__) +# define BOOST_HAS_THREADS +#endif  + +// +// gcc has "long long" +// +#define BOOST_HAS_LONG_LONG + +#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ + + diff --git a/3rdParty/Boost/src/boost/config/compiler/greenhills.hpp b/3rdParty/Boost/src/boost/config/compiler/greenhills.hpp new file mode 100644 index 0000000..038b6b2 --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/greenhills.hpp @@ -0,0 +1,28 @@ +//  (C) Copyright John Maddock 2001.  +//  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. + +//  Greenhills C++ compiler setup: + +#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) + +#include "boost/config/compiler/common_edg.hpp" + +// +// versions check: +// we don't support Greenhills prior to version 0: +#if __ghs < 0 +#  error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0: +#if (__ghs > 0) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  endif +#endif + + diff --git a/3rdParty/Boost/src/boost/config/compiler/hp_acc.hpp b/3rdParty/Boost/src/boost/config/compiler/hp_acc.hpp new file mode 100644 index 0000000..0c3cc9a --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/hp_acc.hpp @@ -0,0 +1,117 @@ +//  (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  +//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +//  See http://www.boost.org for most recent version. + +//  HP aCC C++ compiler setup: + +#if defined(__EDG__) +#include "boost/config/compiler/common_edg.hpp" +#endif + +#if (__HP_aCC <= 33100) +#    define BOOST_NO_INTEGRAL_INT64_T +#    define BOOST_NO_OPERATORS_IN_NAMESPACE +#  if !defined(_NAMESPACE_STD) +#     define BOOST_NO_STD_LOCALE +#     define BOOST_NO_STRINGSTREAM +#  endif +#endif + +#if (__HP_aCC <= 33300) +// member templates are sufficiently broken that we disable them for now +#    define BOOST_NO_MEMBER_TEMPLATES +#    define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +#    define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +#endif + +#if (__HP_aCC <= 38000) +#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +#if (__HP_aCC > 50000) && (__HP_aCC < 60000) +#    define BOOST_NO_UNREACHABLE_RETURN_DETECTION +#    define BOOST_NO_TEMPLATE_TEMPLATES +#    define BOOST_NO_SWPRINTF +#    define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +#    define BOOST_NO_IS_ABSTRACT +#    define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#endif  + +// optional features rather than defects: +#if (__HP_aCC >= 33900) +#    define BOOST_HAS_LONG_LONG +#    define BOOST_HAS_PARTIAL_STD_ALLOCATOR +#endif + +#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 ) +#    define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +#endif + +// This macro should not be defined when compiling in strict ansi +// mode, but, currently, we don't have the ability to determine +// what standard mode we are compiling with. Some future version +// of aCC6 compiler will provide predefined macros reflecting the +// compilation options, including the standard mode. +#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98)) +#    define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) + +// +// versions check: +// we don't support HP aCC prior to version 33000: +#if __HP_aCC < 33000 +#  error "Compiler not supported or configured - please reconfigure" +#endif + +// +// Extended checks for supporting aCC on PA-RISC +#if __HP_aCC > 30000 && __HP_aCC < 50000 +#  if __HP_aCC < 38000 +      // versions prior to version A.03.80 not supported +#     error "Compiler version not supported - version A.03.80 or higher is required" +#  elif !defined(__hpxstd98) +      // must compile using the option +hpxstd98 with version A.03.80 and above +#     error "Compiler option '+hpxstd98' is required for proper support" +#  endif //PA-RISC +#endif + +// +// C++0x features +// +//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS + +// +// last known and checked version for HP-UX/ia64 is 61300 +// last known and checked version for PA-RISC is 38000 +#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98))) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  endif +#endif diff --git a/3rdParty/Boost/src/boost/config/compiler/intel.hpp b/3rdParty/Boost/src/boost/config/compiler/intel.hpp new file mode 100644 index 0000000..e4d1b07 --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/intel.hpp @@ -0,0 +1,195 @@ +//  (C) Copyright John Maddock 2001-8. +//  (C) Copyright Peter Dimov 2001. +//  (C) Copyright Jens Maurer 2001. +//  (C) Copyright David Abrahams 2002 - 2003. +//  (C) Copyright Aleksey Gurtovoy 2002 - 2003. +//  (C) Copyright Guillaume Melquiond 2002 - 2003. +//  (C) Copyright Beman Dawes 2003. +//  (C) Copyright Martin Wille 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. + +//  Intel compiler setup: + +#include "boost/config/compiler/common_edg.hpp" + +#if defined(__INTEL_COMPILER) +#  define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER +#elif defined(__ICL) +#  define BOOST_INTEL_CXX_VERSION __ICL +#elif defined(__ICC) +#  define BOOST_INTEL_CXX_VERSION __ICC +#elif defined(__ECC) +#  define BOOST_INTEL_CXX_VERSION __ECC +#endif + +#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +#define BOOST_INTEL BOOST_INTEL_CXX_VERSION + +#if defined(_WIN32) || defined(_WIN64) +#  define BOOST_INTEL_WIN BOOST_INTEL +#else +#  define BOOST_INTEL_LINUX BOOST_INTEL +#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) + +#  if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) + +// Boost libraries assume strong standard conformance unless otherwise +// indicated by a config macro. As configured by Intel, the EDG front-end +// requires certain compiler options be set to achieve that strong conformance. +// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt) +// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for +// details as they apply to particular versions of the compiler. When the +// compiler does not predefine a macro indicating if an option has been set, +// this config file simply assumes the option has been set. +// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if +// the compiler option is not enabled. + +#     define BOOST_NO_SWPRINTF +#  endif + +// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) + +#  if defined(_MSC_VER) && (_MSC_VER <= 1200) +#     define BOOST_NO_VOID_RETURNS +#     define BOOST_NO_INTEGRAL_INT64_T +#  endif + +#endif + +#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) +#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +#endif + +// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 +#if BOOST_INTEL_CXX_VERSION < 600 +#  define BOOST_NO_INTRINSIC_WCHAR_T +#else +// We should test the macro _WCHAR_T_DEFINED to check if the compiler +// supports wchar_t natively. *BUT* there is a problem here: the standard +// headers define this macro if they typedef wchar_t. Anyway, we're lucky +// because they define it without a value, while Intel C++ defines it +// to 1. So we can check its value to see if the macro was defined natively +// or not. +// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T +// is used instead. +#  if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0) +#    define BOOST_NO_INTRINSIC_WCHAR_T +#  endif +#endif + +#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +// +// Figure out when Intel is emulating this gcc bug +// (All Intel versions prior to 9.0.26, and versions +// later than that if they are set up to emulate gcc 3.2 +// or earlier): +// +#  if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912) +#     define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#  endif +#endif +#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1100) +// GCC or VC emulation: +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif +// +// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T +// set correctly, if we don't do this now, we will get errors later +// in type_traits code among other things, getting this correct +// for the Intel compiler is actually remarkably fragile and tricky: +// +#if defined(BOOST_NO_INTRINSIC_WCHAR_T) +#include <cwchar> +template< typename T > struct assert_no_intrinsic_wchar_t; +template<> struct assert_no_intrinsic_wchar_t<wchar_t> { typedef void type; }; +// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T +// where it is defined above: +typedef assert_no_intrinsic_wchar_t<unsigned short>::type assert_no_intrinsic_wchar_t_; +#else +template< typename T > struct assert_intrinsic_wchar_t; +template<> struct assert_intrinsic_wchar_t<wchar_t> {}; +// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: +template<> struct assert_intrinsic_wchar_t<unsigned short> {}; +#endif + +#if _MSC_VER+0 >= 1000 +#  if _MSC_VER >= 1200 +#     define BOOST_HAS_MS_INT64 +#  endif +#  define BOOST_NO_SWPRINTF +#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#elif defined(_WIN32) +#  define BOOST_DISABLE_WIN32 +#endif + +// I checked version 6.0 build 020312Z, it implements the NRVO. +// Correct this as you find out which version of the compiler +// implemented the NRVO first.  (Daniel Frey) +#if (BOOST_INTEL_CXX_VERSION >= 600) +#  define BOOST_HAS_NRVO +#endif + +// +// versions check: +// we don't support Intel prior to version 5.0: +#if BOOST_INTEL_CXX_VERSION < 500 +#  error "Compiler not supported or configured - please reconfigure" +#endif + +// Intel on MacOS requires +#if defined(__APPLE__) && defined(__INTEL_COMPILER) +#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +// Intel on Altix Itanium +#if defined(__itanium__) && defined(__INTEL_COMPILER) +#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +// +// C++0x features +// +//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS + +// +// last known and checked version: +#if (BOOST_INTEL_CXX_VERSION > 1100) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  elif defined(_MSC_VER) +// +//      We don't emit this warning any more, since we have so few +//      defect macros set anyway (just the one). +// +//#     pragma message("Unknown compiler version - please run the configure tests and report the results") +#  endif +#endif + diff --git a/3rdParty/Boost/src/boost/config/compiler/kai.hpp b/3rdParty/Boost/src/boost/config/compiler/kai.hpp new file mode 100644 index 0000000..de16f1a --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/kai.hpp @@ -0,0 +1,35 @@ +//  (C) Copyright John Maddock 2001.  +//  (C) Copyright David Abrahams 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) + +//  See http://www.boost.org for most recent version. + +//  Kai C++ compiler setup: + +#include "boost/config/compiler/common_edg.hpp" + +#   if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG) +      // at least on Sun, the contents of <cwchar> is not in namespace std +#     define BOOST_NO_STDC_NAMESPACE +#   endif + +// see also common_edg.hpp which needs a special check for __KCC +# if !defined(_EXCEPTIONS) +#     define BOOST_NO_EXCEPTIONS +# endif + +#define BOOST_COMPILER "Kai C++ version " BOOST_STRINGIZE(__KCC_VERSION) + +// +// last known and checked version is 4001: +#if (__KCC_VERSION > 4001) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  endif +#endif + + + diff --git a/3rdParty/Boost/src/boost/config/compiler/metrowerks.hpp b/3rdParty/Boost/src/boost/config/compiler/metrowerks.hpp new file mode 100644 index 0000000..5f6e0fe --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/metrowerks.hpp @@ -0,0 +1,131 @@ +//  (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) + +//  See http://www.boost.org for most recent version. + +//  Metrowerks C++ compiler setup: + +// locale support is disabled when linking with the dynamic runtime +#   ifdef _MSL_NO_LOCALE +#     define BOOST_NO_STD_LOCALE +#   endif  + +#   if __MWERKS__ <= 0x2301  // 5.3 +#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +#     define BOOST_NO_POINTER_TO_MEMBER_CONST +#     define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +#     define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +#   endif + +#   if __MWERKS__ <= 0x2401  // 6.2 +//#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +#   endif + +#   if(__MWERKS__ <= 0x2407)  // 7.x +#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#     define BOOST_NO_UNREACHABLE_RETURN_DETECTION +#   endif + +#   if(__MWERKS__ <= 0x3003)  // 8.x +#     define BOOST_NO_SFINAE +#    endif + +// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last +// tested version *only*: +#   if(__MWERKS__ <= 0x3206) || !defined(BOOST_STRICT_CONFIG) // 9.5 +#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#     define BOOST_NO_IS_ABSTRACT +#     define BOOST_NO_INITIALIZER_LISTS +#    endif + +#if !__option(wchar_type) +#   define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +#if !__option(exceptions) +#   define BOOST_NO_EXCEPTIONS +#endif + +#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh) +#   if __MWERKS__ == 0x3000 +#     define BOOST_COMPILER_VERSION 8.0 +#   elif __MWERKS__ == 0x3001 +#     define BOOST_COMPILER_VERSION 8.1 +#   elif __MWERKS__ == 0x3002 +#     define BOOST_COMPILER_VERSION 8.2 +#   elif __MWERKS__ == 0x3003 +#     define BOOST_COMPILER_VERSION 8.3 +#   elif __MWERKS__ == 0x3200 +#     define BOOST_COMPILER_VERSION 9.0 +#   elif __MWERKS__ == 0x3201 +#     define BOOST_COMPILER_VERSION 9.1 +#   elif __MWERKS__ == 0x3202 +#     define BOOST_COMPILER_VERSION 9.2 +#   elif __MWERKS__ == 0x3204 +#     define BOOST_COMPILER_VERSION 9.3 +#   elif __MWERKS__ == 0x3205 +#     define BOOST_COMPILER_VERSION 9.4 +#   elif __MWERKS__ == 0x3206 +#     define BOOST_COMPILER_VERSION 9.5 +#   else +#     define BOOST_COMPILER_VERSION __MWERKS__ +#   endif +#else +#  define BOOST_COMPILER_VERSION __MWERKS__ +#endif + +// +// C++0x features +// +//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#if __MWERKS__ > 0x3206 && __option(rvalue_refs) +#  define BOOST_HAS_RVALUE_REFS +#else +#  define BOOST_NO_RVALUE_REFERENCES               +#endif +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS + +#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) + +// +// versions check: +// we don't support Metrowerks prior to version 5.3: +#if __MWERKS__ < 0x2301 +#  error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version: +#if (__MWERKS__ > 0x3205) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  endif +#endif + + + + + + + diff --git a/3rdParty/Boost/src/boost/config/compiler/mpw.hpp b/3rdParty/Boost/src/boost/config/compiler/mpw.hpp new file mode 100644 index 0000000..1d72406 --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/mpw.hpp @@ -0,0 +1,75 @@ +//  (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) + +//  See http://www.boost.org for most recent version. + +//  MPW C++ compilers setup: + +#   if    defined(__SC__) +#     define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) +#   elif defined(__MRC__) +#     define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) +#   else +#     error "Using MPW compiler configuration by mistake.  Please update." +#   endif + +// +// MPW 8.90: +// +#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) +#  define BOOST_NO_CV_SPECIALIZATIONS +#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +#  define BOOST_NO_INTRINSIC_WCHAR_T +#  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +#  define BOOST_NO_USING_TEMPLATE + +#  define BOOST_NO_CWCHAR +#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + +#  define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ + +#  define BOOST_NO_INITIALIZER_LISTS +#endif + +// +// C++0x features +// +//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS + +// +// versions check: +// we don't support MPW prior to version 8.9: +#if MPW_CPLUS < 0x890 +#  error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0x890: +#if (MPW_CPLUS > 0x890) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  endif +#endif + + diff --git a/3rdParty/Boost/src/boost/config/compiler/pgi.hpp b/3rdParty/Boost/src/boost/config/compiler/pgi.hpp new file mode 100644 index 0000000..ce09e2a --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/pgi.hpp @@ -0,0 +1,56 @@ +//  (C) Copyright Noel Belcourt 2007. +//  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. + +//  PGI C++ compiler setup: + +#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__ +#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) + +// +// Threading support: +// Turn this on unconditionally here, it will get turned off again later +// if no threading API is detected. +// + +#if (__PGIC__ >= 7) + +#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL  +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#define BOOST_NO_SWPRINTF +#define BOOST_NO_INITIALIZER_LISTS + +#else + +#  error "Pgi compiler not configured - please reconfigure" + +#endif +// +// C++0x features +// +//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS + +// +// version check: +// probably nothing to do here? + diff --git a/3rdParty/Boost/src/boost/config/compiler/sgi_mipspro.hpp b/3rdParty/Boost/src/boost/config/compiler/sgi_mipspro.hpp new file mode 100644 index 0000000..f6a86ad --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/sgi_mipspro.hpp @@ -0,0 +1,52 @@ +//  (C) Copyright John Maddock 2001 - 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) + +//  See http://www.boost.org for most recent version. + +//  SGI C++ compiler setup: + +#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) + +#include "boost/config/compiler/common_edg.hpp" + +// +// Threading support: +// Turn this on unconditionally here, it will get turned off again later +// if no threading API is detected. +// +#define BOOST_HAS_THREADS +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP + +#undef BOOST_NO_SWPRINTF +#undef BOOST_DEDUCED_TYPENAME + +#define BOOST_NO_INITIALIZER_LISTS +// +// C++0x features +// +//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS + +// +// version check: +// probably nothing to do here? + + diff --git a/3rdParty/Boost/src/boost/config/compiler/sunpro_cc.hpp b/3rdParty/Boost/src/boost/config/compiler/sunpro_cc.hpp new file mode 100644 index 0000000..6553a46 --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/sunpro_cc.hpp @@ -0,0 +1,124 @@ +//  (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) + +//  See http://www.boost.org for most recent version. + +//  Sun C++ compiler setup: + +#    if __SUNPRO_CC <= 0x500 +#      define BOOST_NO_MEMBER_TEMPLATES +#      define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +#    endif + +#    if (__SUNPRO_CC <= 0x520) +       // +       // Sunpro 5.2 and earler: +       // +       // although sunpro 5.2 supports the syntax for +       // inline initialization it often gets the value +       // wrong, especially where the value is computed +       // from other constants (J Maddock 6th May 2001) +#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION + +       // Although sunpro 5.2 supports the syntax for +       // partial specialization, it often seems to +       // bind to the wrong specialization.  Better +       // to disable it until suppport becomes more stable +       // (J Maddock 6th May 2001). +#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +#    endif + +#    if (__SUNPRO_CC <= 0x530)  +       // Requesting debug info (-g) with Boost.Python results +       // in an internal compiler error for "static const" +       // initialized in-class. +       //    >> Assertion:   (../links/dbg_cstabs.cc, line 611) +       //         while processing ../test.cpp at line 0. +       // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002) +#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION + +       // SunPro 5.3 has better support for partial specialization, +       // but breaks when compiling std::less<shared_ptr<T> > +       // (Jens Maurer 4 Nov 2001). + +       // std::less specialization fixed as reported by George +       // Heintzelman; partial specialization re-enabled +       // (Peter Dimov 17 Jan 2002) + +//#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +       // integral constant expressions with 64 bit numbers fail +#      define BOOST_NO_INTEGRAL_INT64_T +#    endif + +#    if (__SUNPRO_CC < 0x570)  +#      define BOOST_NO_TEMPLATE_TEMPLATES +       // see http://lists.boost.org/MailArchives/boost/msg47184.php +       // and http://lists.boost.org/MailArchives/boost/msg47220.php +#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +#      define BOOST_NO_SFINAE +#      define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +#    endif +#    if (__SUNPRO_CC <= 0x580)  +#      define BOOST_NO_IS_ABSTRACT +#    endif + +// +// Issues that effect all known versions: +// +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#define BOOST_NO_ADL_BARRIER +#define BOOST_NO_INITIALIZER_LISTS + +// +// C++0x features +// + +#if(__SUNPRO_CC >= 0x590)  +#  define BOOST_HAS_LONG_LONG +#else +#  define BOOST_NO_LONG_LONG +#endif + +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS + +// +// Version +// + +#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) + +// +// versions check: +// we don't support sunpro prior to version 4: +#if __SUNPRO_CC < 0x400 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0x590: +#if (__SUNPRO_CC > 0x590) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  endif +#endif diff --git a/3rdParty/Boost/src/boost/config/compiler/vacpp.hpp b/3rdParty/Boost/src/boost/config/compiler/vacpp.hpp new file mode 100644 index 0000000..eb75cdb --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/vacpp.hpp @@ -0,0 +1,82 @@ +//  (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) + +//  See http://www.boost.org for most recent version. + +//  Visual Age (IBM) C++ compiler setup: + +#if __IBMCPP__ <= 501 +#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#endif + +#if (__IBMCPP__ <= 502)  +// Actually the compiler supports inclass member initialization but it +// requires a definition for the class member and it doesn't recognize +// it as an integral constant expression when used as a template argument. +#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +#  define BOOST_NO_INTEGRAL_INT64_T +#  define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +#endif + +#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) +#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +#  define BOOST_NO_INITIALIZER_LISTS +#endif + +// +// On AIX thread support seems to be indicated by _THREAD_SAFE: +// +#ifdef _THREAD_SAFE +#  define BOOST_HAS_THREADS +#endif + +#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) + +// +// versions check: +// we don't support Visual age prior to version 5: +#if __IBMCPP__ < 500 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 600: +#if (__IBMCPP__ > 600) +#  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 +#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS + +// +// C++0x features +// +//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS + + + diff --git a/3rdParty/Boost/src/boost/config/compiler/visualc.hpp b/3rdParty/Boost/src/boost/config/compiler/visualc.hpp new file mode 100644 index 0000000..552e5bb --- /dev/null +++ b/3rdParty/Boost/src/boost/config/compiler/visualc.hpp @@ -0,0 +1,241 @@ +//  (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) + +//  See http://www.boost.org for most recent version. + +//  Microsoft Visual C++ compiler setup: + +#define BOOST_MSVC _MSC_VER + +// turn off the warnings before we #include anything +#pragma warning( disable : 4503 ) // warning: decorated name length exceeded + +#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 BOOST_MSVC == 1202 +#    define BOOST_NO_STD_TYPEINFO +#  endif + +   // disable min/max macro defines on vc6: +   // +#endif + +#if (_MSC_VER <= 1300)  // 1300 == 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 > 1200) +#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#  endif + +#endif + +#if _MSC_VER < 1400  +// although a conforming signature for swprint exists in VC7.1 +// it appears not to actually work: +#  define BOOST_NO_SWPRINTF +#endif + +#if defined(UNDER_CE) +// Windows CE does not have a conforming signature for swprintf +#  define BOOST_NO_SWPRINTF +#endif + +#if _MSC_VER <= 1400  // 1400 == VC++ 8.0 +#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#endif + +#if _MSC_VER <= 1600  // 1600 == VC++ 10.0 +#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +#if _MSC_VER == 1500  // 1500 == VC++ 9.0 +   // A bug in VC9: +#  define BOOST_NO_ADL_BARRIER +#endif + +#if _MSC_VER <= 1500  || !defined(BOOST_STRICT_CONFIG) // 1500 == VC++ 9.0 +#  define BOOST_NO_INITIALIZER_LISTS +#endif + +#ifndef _NATIVE_WCHAR_T_DEFINED +#  define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +#if defined(_WIN32_WCE) || defined(UNDER_CE) +#  define BOOST_NO_THREADEX +#  define BOOST_NO_GETSYSTEMTIMEASFILETIME +#  define BOOST_NO_SWPRINTF +#endif + +//    +// check for exception handling support:    +#ifndef _CPPUNWIND  +#  define BOOST_NO_EXCEPTIONS    +#endif  + +// +// __int64 support: +// +#if (_MSC_VER >= 1200) +#   define BOOST_HAS_MS_INT64 +#endif +#if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS) +#   define BOOST_HAS_LONG_LONG +#else +#   define BOOST_NO_LONG_LONG +#endif +#if (_MSC_VER >= 1400) && !defined(_DEBUG) +#   define BOOST_HAS_NRVO +#endif +// +// disable Win32 API's if compiler extentions are +// turned off: +// +#ifndef _MSC_EXTENSIONS +#  define BOOST_DISABLE_WIN32 +#endif +#ifndef _CPPRTTI +#  define BOOST_NO_RTTI +#endif + +// +// all versions support __declspec: +// +#define BOOST_HAS_DECLSPEC +// +// C++0x features +// +//   See above for BOOST_NO_LONG_LONG +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES + +// MSVC 2010 CTP has some support for C++0x, but we still disable it until the compiler release +// #if _MSC_VER < 1600 +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +// #endif // _MSC_VER < 1600 + +// +// prefix and suffix headers: +// +#ifndef BOOST_ABI_PREFIX +#  define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +#  define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp" +#endif + +// TODO: +// 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 +// were shipped with freely downloadable SDKs, others as crosscompilers in eVC. +// 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 +#     define BOOST_COMPILER_VERSION evc8 +#   elif _MSC_VER == 1500 +#     define BOOST_COMPILER_VERSION evc9 +#   elif _MSC_VER == 1600 +#     define BOOST_COMPILER_VERSION evc10 +#   else +#      if defined(BOOST_ASSERT_CONFIG) +#         error "Unknown EVC++ compiler version - please run the configure tests and report the results" +#      else +#         pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results") +#      endif +#   endif +# else +#   if _MSC_VER < 1200 +      // Note: these are so far off, they are not really supported +#     define BOOST_COMPILER_VERSION 5.0 +#   elif _MSC_VER < 1300 +#       define BOOST_COMPILER_VERSION 6.0 +#   elif _MSC_VER == 1300 +#     define BOOST_COMPILER_VERSION 7.0 +#   elif _MSC_VER == 1310 +#     define BOOST_COMPILER_VERSION 7.1 +#   elif _MSC_VER == 1400 +#     define BOOST_COMPILER_VERSION 8.0 +#   elif _MSC_VER == 1500 +#     define BOOST_COMPILER_VERSION 9.0 +#   elif _MSC_VER == 1600 +#     define BOOST_COMPILER_VERSION 10.0 +#   else +#     define BOOST_COMPILER_VERSION _MSC_VER +#   endif +# endif + +#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) + +// +// versions check: +// we don't support Visual C++ prior to version 6: +#if _MSC_VER < 1200 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 1500 (VC9): +#if (_MSC_VER > 1600) +#  if defined(BOOST_ASSERT_CONFIG) +#     error "Unknown compiler version - please run the configure tests and report the results" +#  else +#     pragma message("Unknown compiler version - please run the configure tests and report the results") +#  endif +#endif | 
 Swift
 Swift