2013-06-15 13:48:07 +00:00
|
|
|
// (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
|
2003-10-04 11:29:20 +00:00
|
|
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
2001-09-18 11:13:39 +00:00
|
|
|
|
|
|
|
|
// See http://www.boost.org for most recent version.
|
2012-01-20 18:18:04 +00:00
|
|
|
//
|
2001-09-18 11:13:39 +00:00
|
|
|
// Microsoft Visual C++ compiler setup:
|
2012-01-20 18:18:04 +00:00
|
|
|
//
|
|
|
|
|
// We need to be careful with the checks in this file, as contrary
|
|
|
|
|
// to popular belief there are versions with _MSC_VER with the final
|
|
|
|
|
// digit non-zero (mainly the MIPS cross compiler).
|
|
|
|
|
//
|
|
|
|
|
// So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX.
|
|
|
|
|
// No other comparisons (==, >, or <=) are safe.
|
|
|
|
|
//
|
2001-09-18 11:13:39 +00:00
|
|
|
|
|
|
|
|
#define BOOST_MSVC _MSC_VER
|
|
|
|
|
|
2012-01-20 18:18:04 +00:00
|
|
|
//
|
|
|
|
|
// Helper macro BOOST_MSVC_FULL_VER for use in Boost code:
|
|
|
|
|
//
|
2009-08-06 09:13:09 +00:00
|
|
|
#if _MSC_FULL_VER > 100000000
|
|
|
|
|
# define BOOST_MSVC_FULL_VER _MSC_FULL_VER
|
|
|
|
|
#else
|
|
|
|
|
# define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
|
|
|
|
|
#endif
|
|
|
|
|
|
2012-01-20 18:18:04 +00:00
|
|
|
// Attempt to suppress VC6 warnings about the length of decorated names (obsolete):
|
2001-09-18 11:13:39 +00:00
|
|
|
#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
|
|
|
|
|
|
2013-08-10 12:41:58 +00:00
|
|
|
#define BOOST_HAS_PRAGMA_ONCE
|
2013-06-15 16:40:46 +00:00
|
|
|
|
2012-01-20 18:18:04 +00:00
|
|
|
//
|
|
|
|
|
// versions check:
|
2013-08-10 12:41:58 +00:00
|
|
|
// we don't support Visual C++ prior to version 7.1:
|
|
|
|
|
#if _MSC_VER < 1310
|
2012-01-20 18:18:04 +00:00
|
|
|
# error "Compiler not supported or configured - please reconfigure"
|
|
|
|
|
#endif
|
|
|
|
|
|
2013-09-20 14:39:56 +00:00
|
|
|
#if _MSC_FULL_VER < 180020827
|
2013-09-17 12:24:36 +00:00
|
|
|
# define BOOST_NO_FENV_H
|
|
|
|
|
#endif
|
2011-01-30 06:24:30 +00:00
|
|
|
|
2013-06-15 13:48:07 +00:00
|
|
|
#if _MSC_VER < 1400
|
2005-12-12 13:38:32 +00:00
|
|
|
// although a conforming signature for swprint exists in VC7.1
|
|
|
|
|
// it appears not to actually work:
|
2002-04-22 09:36:25 +00:00
|
|
|
# define BOOST_NO_SWPRINTF
|
2010-06-04 12:37:44 +00:00
|
|
|
// Our extern template tests also fail for this compiler:
|
2012-07-10 13:57:24 +00:00
|
|
|
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
2010-08-17 10:19:29 +00:00
|
|
|
// Variadic macros do not exist for VC7.1 and lower
|
2012-07-10 13:57:24 +00:00
|
|
|
# define BOOST_NO_CXX11_VARIADIC_MACROS
|
2015-10-22 10:17:24 +01:00
|
|
|
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
2002-04-22 09:36:25 +00:00
|
|
|
#endif
|
|
|
|
|
|
2012-01-20 18:18:04 +00:00
|
|
|
#if _MSC_VER < 1500 // 140X == VC++ 8.0
|
2003-02-21 22:08:01 +00:00
|
|
|
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
2007-11-07 17:17:39 +00:00
|
|
|
#endif
|
|
|
|
|
|
2012-01-20 18:18:04 +00:00
|
|
|
#if _MSC_VER < 1600 // 150X == VC++ 9.0
|
2008-03-28 17:03:42 +00:00
|
|
|
// A bug in VC9:
|
|
|
|
|
# define BOOST_NO_ADL_BARRIER
|
|
|
|
|
#endif
|
|
|
|
|
|
2010-05-17 16:24:58 +00:00
|
|
|
|
2001-09-18 11:13:39 +00:00
|
|
|
#ifndef _NATIVE_WCHAR_T_DEFINED
|
|
|
|
|
# define BOOST_NO_INTRINSIC_WCHAR_T
|
|
|
|
|
#endif
|
|
|
|
|
|
2013-06-15 13:48:07 +00:00
|
|
|
//
|
|
|
|
|
// check for exception handling support:
|
2010-05-05 17:55:15 +00:00
|
|
|
#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
|
2013-06-15 13:48:07 +00:00
|
|
|
# define BOOST_NO_EXCEPTIONS
|
|
|
|
|
#endif
|
2002-04-03 10:29:32 +00:00
|
|
|
|
2002-05-07 11:24:29 +00:00
|
|
|
//
|
|
|
|
|
// __int64 support:
|
|
|
|
|
//
|
2013-08-10 12:41:58 +00:00
|
|
|
#define BOOST_HAS_MS_INT64
|
|
|
|
|
#if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400)
|
2002-09-06 10:16:56 +00:00
|
|
|
# define BOOST_HAS_LONG_LONG
|
2009-02-25 18:04:27 +00:00
|
|
|
#else
|
|
|
|
|
# define BOOST_NO_LONG_LONG
|
2002-09-06 10:16:56 +00:00
|
|
|
#endif
|
2005-12-12 13:38:32 +00:00
|
|
|
#if (_MSC_VER >= 1400) && !defined(_DEBUG)
|
|
|
|
|
# define BOOST_HAS_NRVO
|
|
|
|
|
#endif
|
2014-10-29 23:41:06 +03:00
|
|
|
#if _MSC_VER >= 1600 // 160X == VC++ 10.0
|
2014-08-22 18:44:16 +04:00
|
|
|
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
|
2014-08-19 17:58:48 +01:00
|
|
|
#endif
|
2002-05-07 11:24:29 +00:00
|
|
|
//
|
2013-12-08 12:53:57 +00:00
|
|
|
// disable Win32 API's if compiler extensions are
|
2002-05-09 11:40:52 +00:00
|
|
|
// turned off:
|
|
|
|
|
//
|
2009-05-19 11:39:24 +00:00
|
|
|
#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)
|
2002-05-09 11:40:52 +00:00
|
|
|
# define BOOST_DISABLE_WIN32
|
|
|
|
|
#endif
|
2009-05-19 11:39:24 +00:00
|
|
|
#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)
|
2008-08-25 10:06:15 +00:00
|
|
|
# define BOOST_NO_RTTI
|
|
|
|
|
#endif
|
2002-05-07 11:24:29 +00:00
|
|
|
|
2012-08-22 18:21:29 +00:00
|
|
|
//
|
|
|
|
|
// TR1 features:
|
|
|
|
|
//
|
2017-04-15 19:19:46 +01:00
|
|
|
#if (_MSC_VER >= 1700) && defined(_HAS_CXX17) && (_HAS_CXX17 > 0)
|
2012-08-22 18:21:29 +00:00
|
|
|
// # 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
|
|
|
|
|
|
2003-08-12 11:21:26 +00:00
|
|
|
//
|
2009-02-25 18:04:27 +00:00
|
|
|
// C++0x features
|
|
|
|
|
//
|
|
|
|
|
// See above for BOOST_NO_LONG_LONG
|
2009-05-21 15:16:39 +00:00
|
|
|
|
|
|
|
|
// C++ features supported by VC++ 10 (aka 2010)
|
|
|
|
|
//
|
|
|
|
|
#if _MSC_VER < 1600
|
2012-07-10 13:57:24 +00:00
|
|
|
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
|
|
|
|
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
|
|
|
|
# define BOOST_NO_CXX11_LAMBDAS
|
|
|
|
|
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
|
|
|
|
# define BOOST_NO_CXX11_STATIC_ASSERT
|
|
|
|
|
# define BOOST_NO_CXX11_NULLPTR
|
|
|
|
|
# define BOOST_NO_CXX11_DECLTYPE
|
2009-05-21 15:16:39 +00:00
|
|
|
#endif // _MSC_VER < 1600
|
2010-11-08 17:01:44 +00:00
|
|
|
|
2010-05-18 12:02:23 +00:00
|
|
|
#if _MSC_VER >= 1600
|
2012-01-20 18:18:04 +00:00
|
|
|
# define BOOST_HAS_STDINT_H
|
2010-05-18 12:02:23 +00:00
|
|
|
#endif
|
2009-05-21 15:16:39 +00:00
|
|
|
|
2013-09-17 12:24:36 +00:00
|
|
|
// C++11 features supported by VC++ 11 (aka 2012)
|
2012-07-10 19:10:08 +00:00
|
|
|
//
|
|
|
|
|
#if _MSC_VER < 1700
|
2014-08-15 16:04:42 -03:00
|
|
|
# define BOOST_NO_CXX11_FINAL
|
2012-07-10 19:10:08 +00:00
|
|
|
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
|
|
|
|
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
|
|
|
|
#endif // _MSC_VER < 1700
|
|
|
|
|
|
2013-09-17 12:24:36 +00:00
|
|
|
// C++11 features supported by VC++ 12 (aka 2013).
|
2013-01-17 02:18:31 +00:00
|
|
|
//
|
2013-09-20 14:39:56 +00:00
|
|
|
#if _MSC_FULL_VER < 180020827
|
2013-09-17 12:24:36 +00:00
|
|
|
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
|
|
|
|
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
2013-01-17 02:18:31 +00:00
|
|
|
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
|
|
|
|
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
|
|
|
|
# define BOOST_NO_CXX11_RAW_LITERALS
|
2013-09-17 12:24:36 +00:00
|
|
|
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
2013-06-22 12:23:09 +00:00
|
|
|
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
2013-10-23 20:04:30 +00:00
|
|
|
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
2013-09-17 12:24:36 +00:00
|
|
|
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
2013-12-13 13:47:50 +00:00
|
|
|
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
2013-01-17 02:18:31 +00:00
|
|
|
#endif
|
|
|
|
|
|
2016-03-26 19:10:18 +00:00
|
|
|
#if _MSC_FULL_VER >= 180020827
|
|
|
|
|
#define BOOST_HAS_EXPM1
|
|
|
|
|
#define BOOST_HAS_LOG1P
|
|
|
|
|
#endif
|
|
|
|
|
|
2015-07-21 10:53:56 -04:00
|
|
|
// C++11 features supported by VC++ 14 (aka 2015)
|
2014-06-05 21:47:53 +02:00
|
|
|
//
|
2015-07-21 10:53:56 -04:00
|
|
|
#if (_MSC_FULL_VER < 190023026)
|
2014-06-05 21:47:53 +02:00
|
|
|
# define BOOST_NO_CXX11_NOEXCEPT
|
|
|
|
|
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
|
|
|
|
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
|
|
|
|
# define BOOST_NO_CXX11_ALIGNAS
|
|
|
|
|
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
2014-11-13 16:40:55 +01:00
|
|
|
# define BOOST_NO_CXX11_CHAR16_T
|
|
|
|
|
# define BOOST_NO_CXX11_CHAR32_T
|
|
|
|
|
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
2014-10-19 17:05:01 +01:00
|
|
|
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
|
|
|
|
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
2014-10-20 11:37:19 +01:00
|
|
|
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
2014-11-13 16:40:55 +01:00
|
|
|
# define BOOST_NO_CXX14_BINARY_LITERALS
|
|
|
|
|
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
2015-04-21 11:32:10 +02:00
|
|
|
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
2016-07-02 09:09:19 +01:00
|
|
|
# define BOOST_NO_CXX11_THREAD_LOCAL
|
2014-06-05 21:47:53 +02:00
|
|
|
#endif
|
2016-07-03 09:18:56 +01:00
|
|
|
// C++11 features supported by VC++ 14 update 3 (aka 2015)
|
|
|
|
|
//
|
|
|
|
|
#if (_MSC_FULL_VER < 190024210)
|
|
|
|
|
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
|
|
|
|
# define BOOST_NO_SFINAE_EXPR
|
2016-07-04 18:03:05 +01:00
|
|
|
# define BOOST_NO_CXX11_CONSTEXPR
|
2016-07-03 09:18:56 +01:00
|
|
|
#endif
|
2014-06-05 21:47:53 +02:00
|
|
|
|
2017-03-13 18:59:09 +00:00
|
|
|
// C++14 features supported by VC++ 14.1 (Visual Studio 2017)
|
2016-11-14 16:35:54 +01:00
|
|
|
//
|
|
|
|
|
#if (_MSC_VER < 1910)
|
|
|
|
|
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
|
|
|
|
#endif
|
|
|
|
|
|
2015-07-23 09:53:39 +01:00
|
|
|
// MSVC including version 14 has not yet completely
|
|
|
|
|
// implemented value-initialization, as is reported:
|
|
|
|
|
// "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
|
|
|
|
|
// "Presence of copy constructor breaks member class initialization",
|
|
|
|
|
// reported in 2009 by Alex Vakulenko:
|
|
|
|
|
// https://connect.microsoft.com/VisualStudio/feedback/details/499606
|
|
|
|
|
// "Value-initialization in new-expression", reported in 2005 by
|
|
|
|
|
// Pavel Kuznetsov (MetaCommunications Engineering):
|
|
|
|
|
// https://connect.microsoft.com/VisualStudio/feedback/details/100744
|
2015-07-23 18:16:39 +01:00
|
|
|
// Reported again by John Maddock in 2015 for VC14:
|
|
|
|
|
// https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly
|
2015-07-23 09:53:39 +01:00
|
|
|
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
|
|
|
|
// (Niels Dekker, LKEB, May 2010)
|
|
|
|
|
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
2016-04-30 15:03:15 -04:00
|
|
|
//
|
2016-07-05 18:06:57 +01:00
|
|
|
// C++ 11:
|
|
|
|
|
//
|
|
|
|
|
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
2017-02-03 23:57:44 -05:00
|
|
|
#define BOOST_NO_CXX11_SFINAE_EXPR
|
2017-05-29 19:15:22 +01:00
|
|
|
// C++ 14:
|
2017-05-29 18:22:10 +01:00
|
|
|
# define BOOST_NO_CXX14_CONSTEXPR
|
2017-05-29 01:16:47 -04:00
|
|
|
// C++ 17:
|
|
|
|
|
#define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
2017-05-29 09:34:41 -04:00
|
|
|
#define BOOST_NO_CXX17_INLINE_VARIABLES
|
2017-05-29 10:15:41 -04:00
|
|
|
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
2014-10-12 10:01:22 +01:00
|
|
|
|
2016-12-27 19:34:05 +00:00
|
|
|
//
|
|
|
|
|
// Things that don't work in clr mode:
|
|
|
|
|
//
|
|
|
|
|
#ifdef _M_CEE
|
|
|
|
|
#ifndef BOOST_NO_CXX11_THREAD_LOCAL
|
|
|
|
|
# define BOOST_NO_CXX11_THREAD_LOCAL
|
|
|
|
|
#endif
|
|
|
|
|
#ifndef BOOST_NO_SFINAE_EXPR
|
|
|
|
|
# define BOOST_NO_SFINAE_EXPR
|
|
|
|
|
#endif
|
|
|
|
|
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
|
|
|
|
|
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef _M_CEE_PURE
|
|
|
|
|
#ifndef BOOST_NO_CXX11_CONSTEXPR
|
|
|
|
|
# define BOOST_NO_CXX11_CONSTEXPR
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
|
2009-02-25 18:04:27 +00:00
|
|
|
//
|
2003-08-12 11:21:26 +00:00
|
|
|
// 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
|
|
|
|
|
|
2012-07-09 11:11:53 +00:00
|
|
|
#ifndef BOOST_COMPILER
|
2005-08-25 16:27:28 +00:00
|
|
|
// TODO:
|
2013-06-15 13:48:07 +00:00
|
|
|
// these things are mostly bogus. 1200 means version 12.0 of the compiler. The
|
2005-08-25 16:27:28 +00:00
|
|
|
// 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)
|
2013-08-10 12:41:58 +00:00
|
|
|
# if _MSC_VER < 1400
|
2012-01-29 12:56:58 +00:00
|
|
|
// Note: I'm not aware of any CE compiler with version 13xx
|
|
|
|
|
# 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
|
|
|
|
|
# elif _MSC_VER < 1500
|
2006-01-13 10:48:08 +00:00
|
|
|
# define BOOST_COMPILER_VERSION evc8
|
2012-01-29 12:56:58 +00:00
|
|
|
# elif _MSC_VER < 1600
|
2009-03-03 10:06:46 +00:00
|
|
|
# define BOOST_COMPILER_VERSION evc9
|
2012-01-29 12:56:58 +00:00
|
|
|
# elif _MSC_VER < 1700
|
2009-03-03 10:06:46 +00:00
|
|
|
# define BOOST_COMPILER_VERSION evc10
|
2013-10-22 17:32:53 +00:00
|
|
|
# elif _MSC_VER < 1800
|
|
|
|
|
# define BOOST_COMPILER_VERSION evc11
|
|
|
|
|
# elif _MSC_VER < 1900
|
|
|
|
|
# define BOOST_COMPILER_VERSION evc12
|
2014-10-02 17:46:49 +01:00
|
|
|
# elif _MSC_VER < 2000
|
|
|
|
|
# define BOOST_COMPILER_VERSION evc14
|
2005-08-25 16:27:28 +00:00
|
|
|
# else
|
2005-12-16 14:08:34 +00:00
|
|
|
# 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
|
2005-08-25 16:27:28 +00:00
|
|
|
# endif
|
2002-07-23 19:47:15 +00:00
|
|
|
# else
|
2013-08-10 12:43:26 +00:00
|
|
|
# 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
|
|
|
|
|
# elif _MSC_VER < 1310
|
|
|
|
|
# define BOOST_COMPILER_VERSION 7.0
|
|
|
|
|
# elif _MSC_VER < 1400
|
2005-08-25 16:27:28 +00:00
|
|
|
# define BOOST_COMPILER_VERSION 7.1
|
2012-01-29 12:56:58 +00:00
|
|
|
# elif _MSC_VER < 1500
|
2005-08-25 16:27:28 +00:00
|
|
|
# define BOOST_COMPILER_VERSION 8.0
|
2012-01-29 12:56:58 +00:00
|
|
|
# elif _MSC_VER < 1600
|
2007-11-07 17:17:39 +00:00
|
|
|
# define BOOST_COMPILER_VERSION 9.0
|
2012-01-29 12:56:58 +00:00
|
|
|
# elif _MSC_VER < 1700
|
2008-10-29 17:11:50 +00:00
|
|
|
# define BOOST_COMPILER_VERSION 10.0
|
2013-07-23 17:32:10 +00:00
|
|
|
# elif _MSC_VER < 1800
|
2013-06-15 13:48:07 +00:00
|
|
|
# define BOOST_COMPILER_VERSION 11.0
|
2013-07-23 17:32:10 +00:00
|
|
|
# elif _MSC_VER < 1900
|
|
|
|
|
# define BOOST_COMPILER_VERSION 12.0
|
2017-03-13 18:59:09 +00:00
|
|
|
# elif _MSC_VER < 1910
|
2014-06-05 21:47:53 +02:00
|
|
|
# define BOOST_COMPILER_VERSION 14.0
|
2017-03-13 18:59:09 +00:00
|
|
|
# elif _MSC_VER < 1920
|
|
|
|
|
# define BOOST_COMPILER_VERSION 14.1
|
2005-08-25 16:27:28 +00:00
|
|
|
# else
|
|
|
|
|
# define BOOST_COMPILER_VERSION _MSC_VER
|
|
|
|
|
# endif
|
2002-07-23 19:47:15 +00:00
|
|
|
# endif
|
2002-05-07 11:24:29 +00:00
|
|
|
|
2012-07-09 11:11:53 +00:00
|
|
|
# define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
|
|
|
|
#endif
|
2001-09-18 11:13:39 +00:00
|
|
|
|
|
|
|
|
//
|
2017-03-13 18:59:09 +00:00
|
|
|
// last known and checked version is 19.10.25017 (VC++ 2017):
|
2016-11-14 16:35:54 +01:00
|
|
|
#if (_MSC_VER > 1910)
|
2001-09-18 11:13:39 +00:00
|
|
|
# if defined(BOOST_ASSERT_CONFIG)
|
|
|
|
|
# error "Unknown compiler version - please run the configure tests and report the results"
|
|
|
|
|
# else
|
2002-03-11 01:23:15 +00:00
|
|
|
# pragma message("Unknown compiler version - please run the configure tests and report the results")
|
2001-09-18 11:13:39 +00:00
|
|
|
# endif
|
|
|
|
|
#endif
|