Update to boost 1.85.0

Update to https://www.boost.org/users/history/version_1_85_0.html
- no functional changes on regex
- support for newer compiler (e.g. VS2022) versions/features/workarounds

Close #15040
pull/15070/head
Christian Grasser 2023-02-18 19:25:06 +01:00 committed by Don Ho
parent 592d981b55
commit e877707ecb
54 changed files with 450 additions and 152 deletions

View File

@ -27,7 +27,7 @@ As mentioned above, you'll need `libScintilla.lib` and `libLexilla.lib` for the
#### Build `libScintilla.lib` with boost and `libLexilla.lib` via nmake #### Build `libScintilla.lib` with boost and `libLexilla.lib` via nmake
This is not necessary any more and just here for completeness as this option is still available. This is not necessary any more and just here for completeness as this option is still available.
Boost is taken from [boost 1.80.0](https://www.boost.org/users/history/version_1_80_0.html) and stripped down to the project needs available at [boost](https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/boostregex/boost) in this repo. Boost is taken from [boost 1.85.0](https://www.boost.org/users/history/version_1_85_0.html) and stripped down to the project needs available at [boost](https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/boostregex/boost) in this repo.
1. Open the Developer Command Prompt for Visual Studio 1. Open the Developer Command Prompt for Visual Studio
2. Go into the [`scintilla\win32\`](https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/scintilla/win32/) 2. Go into the [`scintilla\win32\`](https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/scintilla/win32/)

View File

@ -7,9 +7,7 @@
// Distributed under the Boost Software License, Version 1.0. // Distributed under the Boost Software License, Version 1.0.
// http://www.boost.org/LICENSE_1_0.txt // http://www.boost.org/LICENSE_1_0.txt
#include <boost/current_function.hpp>
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/config/workaround.hpp>
#include <boost/cstdint.hpp> #include <boost/cstdint.hpp>
#include <iosfwd> #include <iosfwd>
#include <string> #include <string>
@ -146,6 +144,10 @@ template<class E, class T> std::basic_ostream<E, T> & operator<<( std::basic_ost
# define BOOST_CURRENT_LOCATION ::boost::source_location() # define BOOST_CURRENT_LOCATION ::boost::source_location()
#elif defined(BOOST_MSVC) && BOOST_MSVC >= 1935
# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCSIG(), __builtin_COLUMN())
#elif defined(BOOST_MSVC) && BOOST_MSVC >= 1926 #elif defined(BOOST_MSVC) && BOOST_MSVC >= 1926
// std::source_location::current() is available in -std:c++20, but fails with consteval errors before 19.31, and doesn't produce // std::source_location::current() is available in -std:c++20, but fails with consteval errors before 19.31, and doesn't produce
@ -161,7 +163,10 @@ template<class E, class T> std::basic_ostream<E, T> & operator<<( std::basic_ost
# define BOOST_CURRENT_LOCATION ::boost::source_location(__FILE__, BOOST_CURRENT_LOCATION_IMPL_1(__LINE__), "") # define BOOST_CURRENT_LOCATION ::boost::source_location(__FILE__, BOOST_CURRENT_LOCATION_IMPL_1(__LINE__), "")
#elif defined(__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L #elif defined(__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L && !defined(__NVCC__)
// Under nvcc, __builtin_source_location is not constexpr
// https://github.com/boostorg/assert/issues/32
# define BOOST_CURRENT_LOCATION ::boost::source_location(::std::source_location::current()) # define BOOST_CURRENT_LOCATION ::boost::source_location(::std::source_location::current())

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Sun Jun 5 16:50:18 2022 // This file was automatically generated on Fri Oct 13 19:09:38 2023
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21. // Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Sun Jun 5 16:50:18 2022 // This file was automatically generated on Fri Oct 13 19:09:38 2023
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21. // Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
@ -18,6 +18,9 @@
#ifdef BOOST_NO_CXX11_ALIGNAS #ifdef BOOST_NO_CXX11_ALIGNAS
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALIGNAS." # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALIGNAS."
#endif #endif
#ifdef BOOST_NO_CXX11_ALIGNOF
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALIGNOF."
#endif
#ifdef BOOST_NO_CXX11_ALLOCATOR #ifdef BOOST_NO_CXX11_ALLOCATOR
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALLOCATOR." # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALLOCATOR."
#endif #endif

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Sun Jun 5 16:50:18 2022 // This file was automatically generated on Fri Oct 13 19:09:38 2023
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21. // Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Sun Jun 5 16:50:18 2022 // This file was automatically generated on Fri Oct 13 19:09:38 2023
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21. // Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
@ -12,6 +12,9 @@
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/config/assert_cxx14.hpp> #include <boost/config/assert_cxx14.hpp>
#ifdef BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS."
#endif
#ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES #ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES." # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES."
#endif #endif

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Sun Jun 5 16:50:18 2022 // This file was automatically generated on Fri Oct 13 19:09:38 2023
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21. // Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the

View File

@ -0,0 +1,41 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// 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/libs/config for the most recent version.//
// Revision $Id$
//
#include <boost/config.hpp>
#include <boost/config/assert_cxx20.hpp>
#ifdef BOOST_NO_CXX23_HDR_EXPECTED
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_EXPECTED."
#endif
#ifdef BOOST_NO_CXX23_HDR_FLAT_MAP
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_FLAT_MAP."
#endif
#ifdef BOOST_NO_CXX23_HDR_FLAT_SET
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_FLAT_SET."
#endif
#ifdef BOOST_NO_CXX23_HDR_GENERATOR
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_GENERATOR."
#endif
#ifdef BOOST_NO_CXX23_HDR_MDSPAN
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_MDSPAN."
#endif
#ifdef BOOST_NO_CXX23_HDR_PRINT
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_PRINT."
#endif
#ifdef BOOST_NO_CXX23_HDR_SPANSTREAM
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_SPANSTREAM."
#endif
#ifdef BOOST_NO_CXX23_HDR_STACKTRACE
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_STACKTRACE."
#endif
#ifdef BOOST_NO_CXX23_HDR_STDFLOAT
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_STDFLOAT."
#endif

View File

@ -194,6 +194,7 @@
#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_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
@ -244,6 +245,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#if __BORLANDC__ >= 0x590 #if __BORLANDC__ >= 0x590
# define BOOST_HAS_TR1_HASH # define BOOST_HAS_TR1_HASH

View File

@ -240,6 +240,10 @@
# define BOOST_NO_CXX11_ALIGNAS # define BOOST_NO_CXX11_ALIGNAS
#endif #endif
#if !__has_feature(cxx_alignof)
# define BOOST_NO_CXX11_ALIGNOF
#endif
#if !__has_feature(cxx_trailing_return) #if !__has_feature(cxx_trailing_return)
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#endif #endif
@ -317,6 +321,10 @@
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif #endif
#if (__clang_major__ < 4) || (__cplusplus < 201406L) /* non-standard value that is greater than 201402, which is reported by clang 4.0.0 for C++1z */
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#if __cplusplus < 201103L #if __cplusplus < 201103L
#define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR
#endif #endif
@ -325,11 +333,18 @@
// All versions with __cplusplus above this value seem to support this: // All versions with __cplusplus above this value seem to support this:
# define BOOST_NO_CXX14_DIGIT_SEPARATORS # define BOOST_NO_CXX14_DIGIT_SEPARATORS
#endif #endif
//
// __builtin_unreachable: // Unreachable code markup
#if defined(__has_builtin) && __has_builtin(__builtin_unreachable) #if defined(__has_builtin)
#if __has_builtin(__builtin_unreachable)
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); #define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
#endif #endif
#endif
// Deprecated symbol markup
#if __has_attribute(deprecated)
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
#endif
#if (__clang_major__ == 3) && (__clang_minor__ == 0) #if (__clang_major__ == 3) && (__clang_minor__ == 0)
// Apparently a clang bug: // Apparently a clang bug:

View File

@ -2,16 +2,28 @@
// Distributed under the Boost Software License, Version 1.0. // Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt) // https://www.boost.org/LICENSE_1_0.txt)
#if !defined(__APPLE__) #if !defined(__apple_build_version__)
# define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) # define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__ % 100)
#else #else
# define BOOST_CLANG_REPORTED_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) # define BOOST_CLANG_REPORTED_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__ % 100)
// https://en.wikipedia.org/wiki/Xcode#Toolchain_versions // https://en.wikipedia.org/wiki/Xcode#Toolchain_versions
# if BOOST_CLANG_REPORTED_VERSION >= 130000 # if BOOST_CLANG_REPORTED_VERSION >= 150000
# define BOOST_CLANG_VERSION 160000
# elif BOOST_CLANG_REPORTED_VERSION >= 140003
# define BOOST_CLANG_VERSION 150000
# elif BOOST_CLANG_REPORTED_VERSION >= 140000
# define BOOST_CLANG_VERSION 140000
# elif BOOST_CLANG_REPORTED_VERSION >= 130100
# define BOOST_CLANG_VERSION 130000
# elif BOOST_CLANG_REPORTED_VERSION >= 130000
# define BOOST_CLANG_VERSION 120000 # define BOOST_CLANG_VERSION 120000
# elif BOOST_CLANG_REPORTED_VERSION >= 120005 # elif BOOST_CLANG_REPORTED_VERSION >= 120005

View File

@ -260,6 +260,7 @@
#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_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
@ -315,6 +316,10 @@
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
// //
// TR1 macros: // TR1 macros:
// //

View File

@ -92,6 +92,7 @@
#define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
@ -170,10 +171,12 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif #endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#ifdef c_plusplus #ifdef c_plusplus
// EDG has "long long" in non-strict mode // EDG has "long long" in non-strict mode

View File

@ -375,6 +375,7 @@
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
#undef BOOST_NO_CXX11_ALIGNAS #undef BOOST_NO_CXX11_ALIGNAS
#undef BOOST_NO_CXX11_ALIGNOF
#undef BOOST_NO_CXX11_DECLTYPE_N3276 #undef BOOST_NO_CXX11_DECLTYPE_N3276
#define BOOST_NO_CXX11_HDR_ATOMIC #define BOOST_NO_CXX11_HDR_ATOMIC
#undef BOOST_NO_CXX11_HDR_FUNCTIONAL #undef BOOST_NO_CXX11_HDR_FUNCTIONAL

View File

@ -79,6 +79,7 @@
#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_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
@ -129,6 +130,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#if (__DMC__ <= 0x840) #if (__DMC__ <= 0x840)
#error "Compiler not supported or configured - please reconfigure" #error "Compiler not supported or configured - please reconfigure"

View File

@ -219,6 +219,7 @@
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
# define BOOST_NO_CXX11_RAW_LITERALS # define BOOST_NO_CXX11_RAW_LITERALS
# define BOOST_NO_CXX11_UNICODE_LITERALS # define BOOST_NO_CXX11_UNICODE_LITERALS
# define BOOST_NO_CXX11_ALIGNOF
#endif #endif
// C++0x features in 4.5.1 and later // C++0x features in 4.5.1 and later
@ -318,6 +319,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if (__GNUC__ < 7) || (__cplusplus < 201703L)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#if __GNUC__ >= 7 #if __GNUC__ >= 7
# define BOOST_FALLTHROUGH __attribute__((fallthrough)) # define BOOST_FALLTHROUGH __attribute__((fallthrough))
@ -340,12 +344,18 @@
// Type aliasing hint. Supported since gcc 3.3. // Type aliasing hint. Supported since gcc 3.3.
#define BOOST_MAY_ALIAS __attribute__((__may_alias__)) #define BOOST_MAY_ALIAS __attribute__((__may_alias__))
// // Unreachable code markup
// __builtin_unreachable:
#if BOOST_GCC_VERSION >= 40500 #if BOOST_GCC_VERSION >= 40500
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); #define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
#endif #endif
// Deprecated symbol markup
#if BOOST_GCC_VERSION >= 40500
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
#else
#define BOOST_DEPRECATED(msg) __attribute__((deprecated))
#endif
#ifndef BOOST_COMPILER #ifndef BOOST_COMPILER
# define BOOST_COMPILER "GNU C++ version " __VERSION__ # define BOOST_COMPILER "GNU C++ version " __VERSION__
#endif #endif
@ -359,7 +369,7 @@
// versions check: // versions check:
// we don't know gcc prior to version 3.30: // we don't know gcc prior to version 3.30:
#if (BOOST_GCC_VERSION< 30300) #if (BOOST_GCC_VERSION < 30300)
# error "Compiler not configured - please reconfigure" # error "Compiler not configured - please reconfigure"
#endif #endif
// //

View File

@ -57,6 +57,7 @@
# 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_USER_DEFINED_LITERALS
# define BOOST_NO_CXX11_ALIGNAS # define BOOST_NO_CXX11_ALIGNAS
# define BOOST_NO_CXX11_ALIGNOF
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_REF_QUALIFIERS
@ -107,7 +108,8 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ #define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__

View File

@ -121,6 +121,7 @@
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
@ -136,6 +137,10 @@
#define BOOST_NO_CXX11_VARIADIC_MACROS #define BOOST_NO_CXX11_VARIADIC_MACROS
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#endif #endif
// //

View File

@ -483,6 +483,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
// BOOST_NO_CXX11_ALIGNAS // BOOST_NO_CXX11_ALIGNAS
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) #if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
# undef BOOST_NO_CXX11_ALIGNAS # undef BOOST_NO_CXX11_ALIGNAS
# undef BOOST_NO_CXX11_ALIGNOF
#endif #endif
// BOOST_NO_CXX11_TRAILING_RESULT_TYPES // BOOST_NO_CXX11_TRAILING_RESULT_TYPES

View File

@ -122,6 +122,7 @@
#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_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
@ -172,6 +173,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) #define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)

View File

@ -71,6 +71,7 @@
#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_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
@ -121,6 +122,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
// //
// versions check: // versions check:

View File

@ -57,5 +57,8 @@
# define BOOST_NO_CXX11_NOEXCEPT # define BOOST_NO_CXX11_NOEXCEPT
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif #endif
#endif

View File

@ -84,6 +84,7 @@
# define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_CHRONO
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS # define BOOST_NO_CXX11_USER_DEFINED_LITERALS
# define BOOST_NO_CXX11_ALIGNAS # define BOOST_NO_CXX11_ALIGNAS
# define BOOST_NO_CXX11_ALIGNOF
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_REF_QUALIFIERS
@ -134,4 +135,7 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#endif #endif

View File

@ -86,6 +86,12 @@
# define BOOST_SYMBOL_VISIBLE __global # define BOOST_SYMBOL_VISIBLE __global
#endif #endif
// Deprecated symbol markup
// Oracle Studio 12.4 supports deprecated attribute with a message; this is the first release that supports the attribute.
#if (__SUNPRO_CC >= 0x5130)
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
#endif
#if (__SUNPRO_CC < 0x5130) #if (__SUNPRO_CC < 0x5130)
// C++03 features in 12.4: // C++03 features in 12.4:
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
@ -120,6 +126,7 @@
#define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_CXX11_UNICODE_LITERALS
#define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_FINAL
@ -187,6 +194,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
// Turn on threading support for Solaris 12. // Turn on threading support for Solaris 12.
// Ticket #11972 // Ticket #11972

View File

@ -133,6 +133,7 @@
# define BOOST_NO_CXX11_VARIADIC_MACROS # define BOOST_NO_CXX11_VARIADIC_MACROS
#endif #endif
#define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
@ -183,3 +184,6 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

View File

@ -107,6 +107,14 @@
# define BOOST_NO_RTTI # define BOOST_NO_RTTI
#endif #endif
// Deprecated symbol markup
#if (_MSC_VER >= 1400)
#define BOOST_DEPRECATED(msg) __declspec(deprecated(msg))
#else
// MSVC 7.1 only supports the attribute without a message
#define BOOST_DEPRECATED(msg) __declspec(deprecated)
#endif
// //
// TR1 features: // TR1 features:
// //
@ -175,6 +183,7 @@
# define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_REF_QUALIFIERS
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS # define BOOST_NO_CXX11_USER_DEFINED_LITERALS
# define BOOST_NO_CXX11_ALIGNAS # define BOOST_NO_CXX11_ALIGNAS
# define BOOST_NO_CXX11_ALIGNOF
# define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_CHAR16_T
# define BOOST_NO_CXX11_CHAR32_T # define BOOST_NO_CXX11_CHAR32_T
@ -254,6 +263,9 @@
#define BOOST_NO_CXX17_INLINE_VARIABLES #define BOOST_NO_CXX17_INLINE_VARIABLES
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS #define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif #endif
#if (_MSC_VER < 1914) || (_MSVC_LANG < 201703)
#define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
// //
// Things that don't work in clr mode: // Things that don't work in clr mode:
@ -262,7 +274,7 @@
#ifndef BOOST_NO_CXX11_THREAD_LOCAL #ifndef BOOST_NO_CXX11_THREAD_LOCAL
# define BOOST_NO_CXX11_THREAD_LOCAL # define BOOST_NO_CXX11_THREAD_LOCAL
#endif #endif
#ifndef BOOST_NO_SFINAE_EXPR #if !defined(BOOST_NO_SFINAE_EXPR) && !defined(_MSVC_LANG)
# define BOOST_NO_SFINAE_EXPR # define BOOST_NO_SFINAE_EXPR
#endif #endif
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS #ifndef BOOST_NO_CXX11_REF_QUALIFIERS
@ -296,6 +308,10 @@
# define BOOST_CXX_VERSION 201402L # define BOOST_CXX_VERSION 201402L
#endif #endif
#if BOOST_CXX_VERSION >= 201703L
# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
#endif
#ifndef BOOST_COMPILER #ifndef BOOST_COMPILER
// TODO: // 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
@ -356,6 +372,8 @@
# define BOOST_COMPILER_VERSION 14.1 # define BOOST_COMPILER_VERSION 14.1
# elif _MSC_VER < 1930 # elif _MSC_VER < 1930
# define BOOST_COMPILER_VERSION 14.2 # define BOOST_COMPILER_VERSION 14.2
# elif _MSC_VER < 1940
# define BOOST_COMPILER_VERSION 14.3
# else # else
# define BOOST_COMPILER_VERSION _MSC_VER # define BOOST_COMPILER_VERSION _MSC_VER
# endif # endif
@ -367,8 +385,8 @@
#include <boost/config/pragma_message.hpp> #include <boost/config/pragma_message.hpp>
// //
// last known and checked version is 19.20.27508 (VC++ 2019 RC3): // last known and checked version is 19.3x (VS2022):
#if (_MSC_VER > 1920) #if (_MSC_VER >= 1940)
# if defined(BOOST_ASSERT_CONFIG) # if defined(BOOST_ASSERT_CONFIG)
# error "Boost.Config is older than your current compiler version." # error "Boost.Config is older than your current compiler version."
# elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE) # elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE)

View File

@ -184,6 +184,10 @@
# define BOOST_NO_CXX11_ALIGNAS # define BOOST_NO_CXX11_ALIGNAS
#endif #endif
#if !__has_feature(cxx_alignof)
# define BOOST_NO_CXX11_ALIGNOF
#endif
#if !__has_feature(cxx_trailing_return) #if !__has_feature(cxx_trailing_return)
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#endif #endif
@ -261,6 +265,10 @@
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif #endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#if !__has_feature(cxx_thread_local) #if !__has_feature(cxx_thread_local)
# define BOOST_NO_CXX11_THREAD_LOCAL # define BOOST_NO_CXX11_THREAD_LOCAL
#endif #endif
@ -270,6 +278,10 @@
# define BOOST_NO_CXX14_DIGIT_SEPARATORS # define BOOST_NO_CXX14_DIGIT_SEPARATORS
#endif #endif
// Deprecated symbol markup
#if __has_attribute(deprecated)
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
#endif
// Unused attribute: // Unused attribute:
#if defined(__GNUC__) && (__GNUC__ >= 4) #if defined(__GNUC__) && (__GNUC__ >= 4)

View File

@ -142,6 +142,7 @@
#define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_OVERRIDE
#define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_UNRESTRICTED_UNION #define BOOST_NO_CXX11_UNRESTRICTED_UNION
#define BOOST_NO_CXX14_VARIABLE_TEMPLATES #define BOOST_NO_CXX14_VARIABLE_TEMPLATES
#define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
@ -156,6 +157,7 @@
#define BOOST_NO_CXX17_INLINE_VARIABLES #define BOOST_NO_CXX17_INLINE_VARIABLES
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS #define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#define BOOST_NO_CXX17_IF_CONSTEXPR #define BOOST_NO_CXX17_IF_CONSTEXPR
#define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
// ------------------------------------- // -------------------------------------

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Sun Jun 5 16:50:18 2022 // This file was automatically generated on Fri Oct 13 19:09:38 2023
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21. // Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
@ -81,6 +81,7 @@
#if defined(BOOST_NO_CXX03)\ #if defined(BOOST_NO_CXX03)\
|| defined(BOOST_NO_CXX11_ADDRESSOF)\ || defined(BOOST_NO_CXX11_ADDRESSOF)\
|| defined(BOOST_NO_CXX11_ALIGNAS)\ || defined(BOOST_NO_CXX11_ALIGNAS)\
|| defined(BOOST_NO_CXX11_ALIGNOF)\
|| defined(BOOST_NO_CXX11_ALLOCATOR)\ || defined(BOOST_NO_CXX11_ALLOCATOR)\
|| defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\ || defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\
|| defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\ || defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\
@ -163,6 +164,7 @@
#endif #endif
#if defined(BOOST_NO_CXX14)\ #if defined(BOOST_NO_CXX14)\
|| defined(BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS)\
|| defined(BOOST_NO_CXX17_DEDUCTION_GUIDES)\ || defined(BOOST_NO_CXX17_DEDUCTION_GUIDES)\
|| defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\ || defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\
|| defined(BOOST_NO_CXX17_HDR_ANY)\ || defined(BOOST_NO_CXX17_HDR_ANY)\
@ -201,3 +203,16 @@
# define BOOST_NO_CXX20 # define BOOST_NO_CXX20
#endif #endif
#if defined(BOOST_NO_CXX20)\
|| defined(BOOST_NO_CXX23_HDR_EXPECTED)\
|| defined(BOOST_NO_CXX23_HDR_FLAT_MAP)\
|| defined(BOOST_NO_CXX23_HDR_FLAT_SET)\
|| defined(BOOST_NO_CXX23_HDR_GENERATOR)\
|| defined(BOOST_NO_CXX23_HDR_MDSPAN)\
|| defined(BOOST_NO_CXX23_HDR_PRINT)\
|| defined(BOOST_NO_CXX23_HDR_SPANSTREAM)\
|| defined(BOOST_NO_CXX23_HDR_STACKTRACE)\
|| defined(BOOST_NO_CXX23_HDR_STDFLOAT)
# define BOOST_NO_CXX23
#endif

View File

@ -47,6 +47,22 @@
# define BOOST_SYMBOL_VISIBLE # define BOOST_SYMBOL_VISIBLE
#endif #endif
//
// disable explicitly enforced visibility
//
#if defined(BOOST_DISABLE_EXPLICIT_SYMBOL_VISIBILITY)
#undef BOOST_SYMBOL_EXPORT
#define BOOST_SYMBOL_EXPORT
#undef BOOST_SYMBOL_IMPORT
#define BOOST_SYMBOL_IMPORT
#undef BOOST_SYMBOL_VISIBLE
#define BOOST_SYMBOL_VISIBLE
#endif
// //
// look for long long by looking for the appropriate macros in <limits.h>. // look for long long by looking for the appropriate macros in <limits.h>.
// Note that we use limits.h rather than climits for maximal portability, // Note that we use limits.h rather than climits for maximal portability,
@ -668,6 +684,23 @@ namespace std{ using ::type_info; }
# define BOOST_NORETURN # define BOOST_NORETURN
#endif #endif
// BOOST_DEPRECATED -------------------------------------------//
// The macro can be used to mark deprecated symbols, such as functions, objects and types.
// Any code that uses these symbols will produce warnings, possibly with a message specified
// as an argument. The warnings can be suppressed by defining BOOST_ALLOW_DEPRECATED_SYMBOLS
// or BOOST_ALLOW_DEPRECATED.
#if !defined(BOOST_DEPRECATED) && __cplusplus >= 201402
#define BOOST_DEPRECATED(msg) [[deprecated(msg)]]
#endif
#if defined(BOOST_ALLOW_DEPRECATED_SYMBOLS) || defined(BOOST_ALLOW_DEPRECATED)
#undef BOOST_DEPRECATED
#endif
#if !defined(BOOST_DEPRECATED)
#define BOOST_DEPRECATED(msg)
#endif
// Branch prediction hints // Branch prediction hints
// These macros are intended to wrap conditional expressions that yield true or false // These macros are intended to wrap conditional expressions that yield true or false
// //
@ -1015,6 +1048,9 @@ namespace std{ using ::type_info; }
#else #else
#define BOOST_CXX14_CONSTEXPR constexpr #define BOOST_CXX14_CONSTEXPR constexpr
#endif #endif
#if !defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS) && defined(BOOST_NO_CXX11_HDR_TUPLE)
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
#endif
// //
// C++17 inline variables // C++17 inline variables
@ -1038,9 +1074,22 @@ namespace std{ using ::type_info; }
// //
// Unused variable/typedef workarounds: // Unused variable/typedef workarounds:
// //
#ifndef BOOST_ATTRIBUTE_UNUSED
# if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130)
# if __has_attribute(maybe_unused)
# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
# endif
# elif defined(__has_cpp_attribute)
# if __has_cpp_attribute(maybe_unused)
# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
# endif
# endif
#endif
#ifndef BOOST_ATTRIBUTE_UNUSED #ifndef BOOST_ATTRIBUTE_UNUSED
# define BOOST_ATTRIBUTE_UNUSED # define BOOST_ATTRIBUTE_UNUSED
#endif #endif
// //
// [[nodiscard]]: // [[nodiscard]]:
// //
@ -1208,6 +1257,46 @@ namespace std{ using ::type_info; }
#endif #endif
#endif #endif
#if (!defined(__has_include) || (BOOST_CXX_VERSION < 202003L))
# define BOOST_NO_CXX23_HDR_EXPECTED
# define BOOST_NO_CXX23_HDR_FLAT_MAP
# define BOOST_NO_CXX23_HDR_FLAT_SET
# define BOOST_NO_CXX23_HDR_GENERATOR
# define BOOST_NO_CXX23_HDR_MDSPAN
# define BOOST_NO_CXX23_HDR_PRINT
# define BOOST_NO_CXX23_HDR_SPANSTREAM
# define BOOST_NO_CXX23_HDR_STACKTRACE
# define BOOST_NO_CXX23_HDR_STDFLOAT
#else
#if (!__has_include(<expected>) || !defined(__cpp_lib_expected) || (__cpp_lib_expected < 202211L)) && !defined(BOOST_NO_CXX23_HDR_EXPECTED)
# define BOOST_NO_CXX23_HDR_EXPECTED
#endif
#if (!__has_include(<flat_map>) || !defined(__cpp_lib_flat_map) || (__cpp_lib_flat_map < 202207L)) && !defined(BOOST_NO_CXX23_HDR_FLAT_MAP)
# define BOOST_NO_CXX23_HDR_FLAT_MAP
#endif
#if (!__has_include(<flat_set>) || !defined(__cpp_lib_flat_set) || (__cpp_lib_flat_set < 202207L)) && !defined(BOOST_NO_CXX23_HDR_FLAT_SET)
# define BOOST_NO_CXX23_HDR_FLAT_SET
#endif
#if (!__has_include(<generator>) || !defined(__cpp_lib_generator) || (__cpp_lib_generator < 202207L)) && !defined(BOOST_NO_CXX23_HDR_GENERATOR)
# define BOOST_NO_CXX23_HDR_GENERATOR
#endif
#if (!__has_include(<mdspan>) || !defined(__cpp_lib_mdspan) || (__cpp_lib_mdspan < 202207L)) && !defined(BOOST_NO_CXX23_HDR_MDSPAN)
# define BOOST_NO_CXX23_HDR_MDSPAN
#endif
#if (!__has_include(<print>) || !defined(__cpp_lib_print) || (__cpp_lib_print < 202207L)) && !defined(BOOST_NO_CXX23_HDR_PRINT)
# define BOOST_NO_CXX23_HDR_PRINT
#endif
#if (!__has_include(<spanstream>) || !defined(__cpp_lib_spanstream) || (__cpp_lib_spanstream < 202106L)) && !defined(BOOST_NO_CXX23_HDR_SPANSTREAM)
# define BOOST_NO_CXX23_HDR_SPANSTREAM
#endif
#if (!__has_include(<stacktrace>) || !defined(__cpp_lib_stacktrace) || (__cpp_lib_stacktrace < 202011L)) && !defined(BOOST_NO_CXX23_HDR_STACKTRACE)
# define BOOST_NO_CXX23_HDR_STACKTRACE
#endif
#if !__has_include(<stdfloat>) && !defined(BOOST_NO_CXX23_HDR_STDFLOAT)
# define BOOST_NO_CXX23_HDR_STDFLOAT
#endif
#endif
#if defined(__cplusplus) && defined(__has_include) #if defined(__cplusplus) && defined(__has_include)
#if !__has_include(<version>) #if !__has_include(<version>)
# define BOOST_NO_CXX20_HDR_VERSION # define BOOST_NO_CXX20_HDR_VERSION

View File

@ -17,7 +17,7 @@
#include <boost/config/pragma_message.hpp> #include <boost/config/pragma_message.hpp>
#if defined(BOOST_ALLOW_DEPRECATED_HEADERS) #if defined(BOOST_ALLOW_DEPRECATED_HEADERS) || defined(BOOST_ALLOW_DEPRECATED)
# define BOOST_HEADER_DEPRECATED(a) # define BOOST_HEADER_DEPRECATED(a)
#else #else
# define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.") # define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.")

View File

@ -240,6 +240,8 @@
# define BOOST_NO_CXX98_RANDOM_SHUFFLE # define BOOST_NO_CXX98_RANDOM_SHUFFLE
# define BOOST_NO_CXX98_FUNCTION_BASE # define BOOST_NO_CXX98_FUNCTION_BASE
# define BOOST_NO_CXX98_BINDERS # define BOOST_NO_CXX98_BINDERS
# elif defined(_HAS_DEPRECATED_ADAPTOR_TYPEDEFS) && (_HAS_DEPRECATED_ADAPTOR_TYPEDEFS == 0)
# define BOOST_NO_CXX98_BINDERS
# endif # endif
#endif #endif
// //
@ -285,6 +287,36 @@
# define BOOST_DINKUMWARE_STDLIB 1 # define BOOST_DINKUMWARE_STDLIB 1
#endif #endif
// BOOST_MSSTL_VERSION: as _MSVC_STL_VERSION, but for earlier releases as well
#if defined(_MSVC_STL_VERSION) // VS2017 (14.1) and above
# define BOOST_MSSTL_VERSION _MSVC_STL_VERSION
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 650 // VS2015 (14.0)
# define BOOST_MSSTL_VERSION 140
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 610 // VS2013 (12.0)
# define BOOST_MSSTL_VERSION 120
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 540 // VS2012 (11.0)
# define BOOST_MSSTL_VERSION 110
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 520 // VS2010 (10.0)
# define BOOST_MSSTL_VERSION 100
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 505 // VS2008SP1 (9.0)
# define BOOST_MSSTL_VERSION 91
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 503 // VS2008 (also 9.0)
# define BOOST_MSSTL_VERSION 90
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 405 // VS2005 (8.0)
# define BOOST_MSSTL_VERSION 80
#endif
//
#ifdef _CPPLIB_VER #ifdef _CPPLIB_VER
# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) # define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
#else #else

View File

@ -168,4 +168,13 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif #endif
#if _LIBCPP_VERSION >= 15000
//
// Unary function is now deprecated in C++11 and later:
//
#if __cplusplus >= 201103L
#define BOOST_NO_CXX98_FUNCTION_BASE
#endif
#endif
// --- end --- // --- end ---

View File

@ -139,7 +139,16 @@
// //
#ifdef __clang__ #ifdef __clang__
#if __has_include(<source_location>) #ifdef _GLIBCXX_RELEASE
# define BOOST_LIBSTDCXX_VERSION (_GLIBCXX_RELEASE * 10000 + 100)
#else
//
// We figure out which gcc version issued this std lib
// by checking which headers are available:
//
#if __has_include(<expected>)
# define BOOST_LIBSTDCXX_VERSION 120100
#elif __has_include(<source_location>)
# define BOOST_LIBSTDCXX_VERSION 110100 # define BOOST_LIBSTDCXX_VERSION 110100
#elif __has_include(<compare>) #elif __has_include(<compare>)
# define BOOST_LIBSTDCXX_VERSION 100100 # define BOOST_LIBSTDCXX_VERSION 100100
@ -168,6 +177,7 @@
#elif __has_include(<array>) #elif __has_include(<array>)
# define BOOST_LIBSTDCXX_VERSION 40300 # define BOOST_LIBSTDCXX_VERSION 40300
#endif #endif
#endif
// //
// If BOOST_HAS_FLOAT128 is set, now that we know the std lib is libstdc++3, check to see if the std lib is // If BOOST_HAS_FLOAT128 is set, now that we know the std lib is libstdc++3, check to see if the std lib is
// configured to support this type. If not disable it: // configured to support this type. If not disable it:
@ -257,7 +267,7 @@ extern "C" char *gets (char *__s);
# if !_GLIBCXX_DEPRECATED # if !_GLIBCXX_DEPRECATED
# define BOOST_NO_AUTO_PTR # define BOOST_NO_AUTO_PTR
# endif # endif
# elif !_GLIBCXX_USE_DEPRECATED # elif !defined(_GLIBCXX_USE_DEPRECATED) || !_GLIBCXX_USE_DEPRECATED
# define BOOST_NO_AUTO_PTR # define BOOST_NO_AUTO_PTR
# define BOOST_NO_CXX98_BINDERS # define BOOST_NO_CXX98_BINDERS
# endif # endif
@ -429,6 +439,13 @@ extern "C" char *gets (char *__s);
#endif #endif
#endif #endif
#if defined(__clang__) && (BOOST_LIBSTDCXX_VERSION < 40300) && !defined(BOOST_NO_CXX11_NULLPTR)
# define BOOST_NO_CXX11_NULLPTR
#endif
#if defined(__clang__) && (BOOST_LIBSTDCXX_VERSION < 40300) && defined(BOOST_HAS_INT128) && defined(__APPLE_CC__)
#undef BOOST_HAS_INT128
#endif
// //
// Headers not present on Solaris with the Oracle compiler: // Headers not present on Solaris with the Oracle compiler:
#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140) #if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140)
@ -457,7 +474,7 @@ extern "C" char *gets (char *__s);
# endif # endif
#endif #endif
#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX) #if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX) && (__GNUC__ < 6)
// Timed mutexes are not always available: // Timed mutexes are not always available:
# define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_MUTEX
#endif #endif

View File

@ -1,75 +0,0 @@
#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED
// MS compatible compilers support #pragma once
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
# pragma once
#endif
//
// boost/current_function.hpp - BOOST_CURRENT_FUNCTION
//
// Copyright 2002-2018 Peter Dimov
//
// Distributed under 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
//
// http://www.boost.org/libs/assert
//
namespace boost
{
namespace detail
{
inline void current_function_helper()
{
#if defined( BOOST_DISABLE_CURRENT_FUNCTION )
# define BOOST_CURRENT_FUNCTION "(unknown)"
#elif defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) || defined(__clang__)
# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
#elif defined(__DMC__) && (__DMC__ >= 0x810)
# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
#elif defined(__FUNCSIG__)
# define BOOST_CURRENT_FUNCTION __FUNCSIG__
#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
# define BOOST_CURRENT_FUNCTION __FUNCTION__
#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
# define BOOST_CURRENT_FUNCTION __FUNC__
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
# define BOOST_CURRENT_FUNCTION __func__
#elif defined(__cplusplus) && (__cplusplus >= 201103)
# define BOOST_CURRENT_FUNCTION __func__
#else
# define BOOST_CURRENT_FUNCTION "(unknown)"
#endif
}
} // namespace detail
} // namespace boost
#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED

View File

@ -7,7 +7,7 @@
#define BOOST_EXCEPTION_7E83C166200811DE885E826156D89593 #define BOOST_EXCEPTION_7E83C166200811DE885E826156D89593
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -7,7 +7,7 @@
#define BOOST_EXCEPTION_81522C0EB56511DFAB613DB0DFD72085 #define BOOST_EXCEPTION_81522C0EB56511DFAB613DB0DFD72085
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -14,7 +14,7 @@
#include <string> #include <string>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -7,7 +7,7 @@
#ifndef BOOST_EXCEPTION_618474C2DE1511DEB74A388C56D89593 #ifndef BOOST_EXCEPTION_618474C2DE1511DEB74A388C56D89593
#define BOOST_EXCEPTION_618474C2DE1511DEB74A388C56D89593 #define BOOST_EXCEPTION_618474C2DE1511DEB74A388C56D89593
#include <boost/config.hpp> #include <boost/exception/detail/requires_cxx11.hpp>
#include <boost/exception/exception.hpp> #include <boost/exception/exception.hpp>
#include <boost/exception/info.hpp> #include <boost/exception/info.hpp>
#include <boost/exception/diagnostic_information.hpp> #include <boost/exception/diagnostic_information.hpp>
@ -26,7 +26,7 @@
#include <stdlib.h> #include <stdlib.h>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__
@ -64,8 +64,7 @@ boost
inline inline
wrap_exception_ptr( std::exception_ptr const & e ) wrap_exception_ptr( std::exception_ptr const & e )
{ {
exception_detail::clone_base const & base = exception_detail::clone_base const & base = boost::enable_current_exception(std_exception_ptr_wrapper(e));
boost::enable_current_exception(std_exception_ptr_wrapper(std::current_exception()));
return shared_ptr<exception_detail::clone_base const>(base.clone()); return shared_ptr<exception_detail::clone_base const>(base.clone());
} }
#endif #endif
@ -112,14 +111,24 @@ boost
} }
}; };
namespace
exception_detail
{
template <class E>
inline
exception_ptr
copy_exception_impl( E const & e )
{
return exception_ptr(boost::make_shared<E>(e));
}
}
template <class E> template <class E>
inline inline
exception_ptr exception_ptr
copy_exception( E const & e ) copy_exception( E const & e )
{ {
E cp = e; return exception_detail::copy_exception_impl(boost::enable_current_exception(e));
exception_detail::copy_boost_exception(&cp, &e);
return exception_ptr(boost::make_shared<wrapexcept<E> >(cp));
} }
template <class T> template <class T>
@ -385,6 +394,9 @@ boost
{ {
return exception_ptr(shared_ptr<exception_detail::clone_base const>(e.clone())); return exception_ptr(shared_ptr<exception_detail::clone_base const>(e.clone()));
} }
#ifdef BOOST_NO_CXX11_HDR_EXCEPTION
catch( catch(
std::domain_error & e ) std::domain_error & e )
{ {
@ -457,19 +469,19 @@ boost
{ {
return exception_detail::current_exception_std_exception(e); return exception_detail::current_exception_std_exception(e);
} }
#ifdef BOOST_NO_CXX11_HDR_EXCEPTION
// this case can be handled losslesly with std::current_exception() (see below)
catch( catch(
std::exception & e ) std::exception & e )
{ {
return exception_detail::current_exception_unknown_std_exception(e); return exception_detail::current_exception_unknown_std_exception(e);
} }
#endif
catch( catch(
boost::exception & e ) boost::exception & e )
{ {
return exception_detail::current_exception_unknown_boost_exception(e); return exception_detail::current_exception_unknown_boost_exception(e);
} }
#endif // #ifdef BOOST_NO_CXX11_HDR_EXCEPTION
catch( catch(
... ) ... )
{ {

View File

@ -9,7 +9,7 @@
#include <ostream> #include <ostream>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -14,7 +14,7 @@
#include <cstdlib> #include <cstdlib>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -0,0 +1,24 @@
#ifndef BOOST_EXCEPTION_DETAIL_REQUIRES_CXX11_HPP_INCLUDED
#define BOOST_EXCEPTION_DETAIL_REQUIRES_CXX11_HPP_INCLUDED
// Copyright 2023 Peter Dimov
// Copyright 2024 Emil Dotchevski
// Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt
#include <boost/config.hpp>
#include <boost/config/pragma_message.hpp>
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \
defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
defined(BOOST_NO_CXX11_DECLTYPE) || \
defined(BOOST_NO_CXX11_CONSTEXPR) || \
defined(BOOST_NO_CXX11_NOEXCEPT) || \
defined(BOOST_NO_CXX11_NULLPTR) || \
defined(BOOST_NO_CXX11_SMART_PTR)
BOOST_PRAGMA_MESSAGE("C++03 support was deprecated in Boost.Exception 1.85 and will be removed in Boost.Exception 1.87.")
#endif
#endif

View File

@ -14,7 +14,7 @@
#include <string.h> #include <string.h>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -9,7 +9,7 @@
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/exception/get_error_info.hpp> #include <boost/exception/get_error_info.hpp>
#include <boost/exception/info.hpp> #include <boost/exception/info.hpp>
#include <boost/utility/enable_if.hpp> #include <boost/core/enable_if.hpp>
#ifndef BOOST_NO_RTTI #ifndef BOOST_NO_RTTI
#include <boost/core/demangle.hpp> #include <boost/core/demangle.hpp>
#endif #endif
@ -21,7 +21,7 @@
#endif #endif
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__
@ -149,11 +149,11 @@ boost
if( f ) if( f )
{ {
tmp << *f; tmp << *f;
if( int const * l=get_error_info<throw_line>(*be) ) if( l )
tmp << '(' << *l << "): "; tmp << '(' << *l << "): ";
} }
tmp << "Throw in function "; tmp << "Throw in function ";
if( char const * const * fn=get_error_info<throw_function>(*be) ) if( fn )
tmp << *fn; tmp << *fn;
else else
tmp << "(unknown)"; tmp << "(unknown)";

View File

@ -11,7 +11,7 @@
#include <string.h> #include <string.h>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -19,7 +19,7 @@ namespace boost { namespace exception_detail { using boost::shared_ptr; } }
#endif #endif
#if !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #if !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -14,7 +14,7 @@
#include <boost/assert.hpp> #include <boost/assert.hpp>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -14,7 +14,7 @@
#include <map> #include <map>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -10,7 +10,7 @@
#include <boost/tuple/tuple.hpp> #include <boost/tuple/tuple.hpp>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -6,12 +6,12 @@
#ifndef BOOST_EXCEPTION_7E48761AD92811DC9011477D56D89593 #ifndef BOOST_EXCEPTION_7E48761AD92811DC9011477D56D89593
#define BOOST_EXCEPTION_7E48761AD92811DC9011477D56D89593 #define BOOST_EXCEPTION_7E48761AD92811DC9011477D56D89593
#include <boost/utility/enable_if.hpp> #include <boost/core/enable_if.hpp>
#include <boost/exception/detail/is_output_streamable.hpp> #include <boost/exception/detail/is_output_streamable.hpp>
#include <sstream> #include <sstream>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -11,7 +11,7 @@
#include <boost/assert.hpp> #include <boost/assert.hpp>
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
#if __GNUC__*100+__GNUC_MINOR__>301 #if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
#pragma GCC system_header #pragma GCC system_header
#endif #endif
#ifdef __clang__ #ifdef __clang__

View File

@ -190,8 +190,8 @@ public:
constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit; constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit;
constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore; constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore;
constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode; constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode;
constexpr char_class_type mask_any = char_class_type(1) << offset_any; //constexpr char_class_type mask_any = char_class_type(1) << offset_any;
constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii; //constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii;
constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal; constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal;
constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical; constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical;
@ -365,15 +365,15 @@ private:
static char_class_type lookup_icu_mask(const ::UChar32* p1, const ::UChar32* p2) static char_class_type lookup_icu_mask(const ::UChar32* p1, const ::UChar32* p2)
{ {
constexpr char_class_type mask_blank = char_class_type(1) << offset_blank; //constexpr char_class_type mask_blank = char_class_type(1) << offset_blank;
constexpr char_class_type mask_space = char_class_type(1) << offset_space; //constexpr char_class_type mask_space = char_class_type(1) << offset_space;
constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit; //constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit;
constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore; //constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore;
constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode; //constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode;
constexpr char_class_type mask_any = char_class_type(1) << offset_any; constexpr char_class_type mask_any = char_class_type(1) << offset_any;
constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii; constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii;
constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal; //constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal;
constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical; //constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical;
static const ::UChar32 prop_name_table[] = { static const ::UChar32 prop_name_table[] = {
/* any */ 'a', 'n', 'y', /* any */ 'a', 'n', 'y',

View File

@ -54,7 +54,7 @@ typedef char (&wrapexcept_s2)[ 2 ];
template<class T> wrapexcept_s1 wrapexcept_is_convertible( T* ); template<class T> wrapexcept_s1 wrapexcept_is_convertible( T* );
template<class T> wrapexcept_s2 wrapexcept_is_convertible( void* ); template<class T> wrapexcept_s2 wrapexcept_is_convertible( void* );
template<class E, class B, std::size_t I = sizeof( wrapexcept_is_convertible<B>( static_cast< E* >( 0 ) ) ) > struct wrapexcept_add_base; template<class E, class B, std::size_t I = sizeof( wrapexcept_is_convertible<B>( static_cast< E* >( BOOST_NULLPTR ) ) ) > struct wrapexcept_add_base;
template<class E, class B> struct wrapexcept_add_base<E, B, 1> template<class E, class B> struct wrapexcept_add_base<E, B, 1>
{ {
@ -104,9 +104,9 @@ public:
copy_from( &e ); copy_from( &e );
set_info( *this, throw_file( loc.file_name() ) ); set_info( *this, throw_file( loc.file_name() ) );
set_info( *this, throw_line( loc.line() ) ); set_info( *this, throw_line( static_cast<int>( loc.line() ) ) );
set_info( *this, throw_function( loc.function_name() ) ); set_info( *this, throw_function( loc.function_name() ) );
set_info( *this, throw_column( loc.column() ) ); set_info( *this, throw_column( static_cast<int>( loc.column() ) ) );
} }
virtual boost::exception_detail::clone_base const * clone() const BOOST_OVERRIDE virtual boost::exception_detail::clone_base const * clone() const BOOST_OVERRIDE