diff --git a/BUILD.md b/BUILD.md index 83797b064..e2f087053 100644 --- a/BUILD.md +++ b/BUILD.md @@ -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 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 2. Go into the [`scintilla\win32\`](https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/scintilla/win32/) diff --git a/boostregex/boost/assert/source_location.hpp b/boostregex/boost/assert/source_location.hpp index 0d7685828..c4d5f1b17 100644 --- a/boostregex/boost/assert/source_location.hpp +++ b/boostregex/boost/assert/source_location.hpp @@ -7,9 +7,7 @@ // Distributed under the Boost Software License, Version 1.0. // http://www.boost.org/LICENSE_1_0.txt -#include #include -#include #include #include #include @@ -146,6 +144,10 @@ template std::basic_ostream & operator<<( std::basic_ost # 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 // 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 std::basic_ostream & operator<<( std::basic_ost # 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()) diff --git a/boostregex/boost/config/assert_cxx03.hpp b/boostregex/boost/config/assert_cxx03.hpp index 03360a932..c914aa86f 100644 --- a/boostregex/boost/config/assert_cxx03.hpp +++ b/boostregex/boost/config/assert_cxx03.hpp @@ -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 // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the diff --git a/boostregex/boost/config/assert_cxx11.hpp b/boostregex/boost/config/assert_cxx11.hpp index b029a2748..addd06ad8 100644 --- a/boostregex/boost/config/assert_cxx11.hpp +++ b/boostregex/boost/config/assert_cxx11.hpp @@ -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 // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the @@ -18,6 +18,9 @@ #ifdef BOOST_NO_CXX11_ALIGNAS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALIGNAS." #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 # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALLOCATOR." #endif diff --git a/boostregex/boost/config/assert_cxx14.hpp b/boostregex/boost/config/assert_cxx14.hpp index 1d3132a1d..061aba3f1 100644 --- a/boostregex/boost/config/assert_cxx14.hpp +++ b/boostregex/boost/config/assert_cxx14.hpp @@ -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 // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the diff --git a/boostregex/boost/config/assert_cxx17.hpp b/boostregex/boost/config/assert_cxx17.hpp index cd41be61b..e2402515f 100644 --- a/boostregex/boost/config/assert_cxx17.hpp +++ b/boostregex/boost/config/assert_cxx17.hpp @@ -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 // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the @@ -12,6 +12,9 @@ #include #include +#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 # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES." #endif diff --git a/boostregex/boost/config/assert_cxx20.hpp b/boostregex/boost/config/assert_cxx20.hpp index c14827785..71a74154f 100644 --- a/boostregex/boost/config/assert_cxx20.hpp +++ b/boostregex/boost/config/assert_cxx20.hpp @@ -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 // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the diff --git a/boostregex/boost/config/assert_cxx23.hpp b/boostregex/boost/config/assert_cxx23.hpp new file mode 100644 index 000000000..feb445737 --- /dev/null +++ b/boostregex/boost/config/assert_cxx23.hpp @@ -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 +#include + +#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 diff --git a/boostregex/boost/config/compiler/borland.hpp b/boostregex/boost/config/compiler/borland.hpp index c5113b715..51d518869 100644 --- a/boostregex/boost/config/compiler/borland.hpp +++ b/boostregex/boost/config/compiler/borland.hpp @@ -194,6 +194,7 @@ #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS @@ -244,6 +245,9 @@ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #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 # define BOOST_HAS_TR1_HASH diff --git a/boostregex/boost/config/compiler/clang.hpp b/boostregex/boost/config/compiler/clang.hpp index f28da1072..f9a5050b4 100644 --- a/boostregex/boost/config/compiler/clang.hpp +++ b/boostregex/boost/config/compiler/clang.hpp @@ -240,6 +240,10 @@ # define BOOST_NO_CXX11_ALIGNAS #endif +#if !__has_feature(cxx_alignof) +# define BOOST_NO_CXX11_ALIGNOF +#endif + #if !__has_feature(cxx_trailing_return) # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #endif @@ -317,6 +321,10 @@ # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #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 #define BOOST_NO_CXX11_SFINAE_EXPR #endif @@ -325,11 +333,18 @@ // All versions with __cplusplus above this value seem to support this: # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif -// -// __builtin_unreachable: -#if defined(__has_builtin) && __has_builtin(__builtin_unreachable) + +// Unreachable code markup +#if defined(__has_builtin) +#if __has_builtin(__builtin_unreachable) #define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); #endif +#endif + +// Deprecated symbol markup +#if __has_attribute(deprecated) +#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg))) +#endif #if (__clang_major__ == 3) && (__clang_minor__ == 0) // Apparently a clang bug: diff --git a/boostregex/boost/config/compiler/clang_version.hpp b/boostregex/boost/config/compiler/clang_version.hpp index 9e5b408ae..a61de13d1 100644 --- a/boostregex/boost/config/compiler/clang_version.hpp +++ b/boostregex/boost/config/compiler/clang_version.hpp @@ -2,16 +2,28 @@ // Distributed under the Boost Software License, Version 1.0. // 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 -# 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 -# 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 # elif BOOST_CLANG_REPORTED_VERSION >= 120005 diff --git a/boostregex/boost/config/compiler/codegear.hpp b/boostregex/boost/config/compiler/codegear.hpp index 77949aaf4..49f934c02 100644 --- a/boostregex/boost/config/compiler/codegear.hpp +++ b/boostregex/boost/config/compiler/codegear.hpp @@ -260,6 +260,7 @@ #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS @@ -315,6 +316,10 @@ # define BOOST_NO_CXX17_IF_CONSTEXPR #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: // diff --git a/boostregex/boost/config/compiler/common_edg.hpp b/boostregex/boost/config/compiler/common_edg.hpp index 7887b30a2..0d59ae0e6 100644 --- a/boostregex/boost/config/compiler/common_edg.hpp +++ b/boostregex/boost/config/compiler/common_edg.hpp @@ -92,6 +92,7 @@ #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS @@ -170,10 +171,12 @@ #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif - #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #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 // EDG has "long long" in non-strict mode diff --git a/boostregex/boost/config/compiler/cray.hpp b/boostregex/boost/config/compiler/cray.hpp index 2f1e9e8e1..e40fd05ac 100644 --- a/boostregex/boost/config/compiler/cray.hpp +++ b/boostregex/boost/config/compiler/cray.hpp @@ -375,6 +375,7 @@ #if __cplusplus >= 201103L #undef BOOST_NO_CXX11_ALIGNAS +#undef BOOST_NO_CXX11_ALIGNOF #undef BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_HDR_ATOMIC #undef BOOST_NO_CXX11_HDR_FUNCTIONAL diff --git a/boostregex/boost/config/compiler/digitalmars.hpp b/boostregex/boost/config/compiler/digitalmars.hpp index 7641ee8a6..4fa347ab8 100644 --- a/boostregex/boost/config/compiler/digitalmars.hpp +++ b/boostregex/boost/config/compiler/digitalmars.hpp @@ -79,6 +79,7 @@ #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS @@ -129,6 +130,9 @@ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #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) #error "Compiler not supported or configured - please reconfigure" diff --git a/boostregex/boost/config/compiler/gcc.hpp b/boostregex/boost/config/compiler/gcc.hpp index d4cf0e9c8..fc05a9186 100644 --- a/boostregex/boost/config/compiler/gcc.hpp +++ b/boostregex/boost/config/compiler/gcc.hpp @@ -219,6 +219,7 @@ # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS # define BOOST_NO_CXX11_RAW_LITERALS # define BOOST_NO_CXX11_UNICODE_LITERALS +# define BOOST_NO_CXX11_ALIGNOF #endif // C++0x features in 4.5.1 and later @@ -318,6 +319,9 @@ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif +#if (__GNUC__ < 7) || (__cplusplus < 201703L) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif #if __GNUC__ >= 7 # define BOOST_FALLTHROUGH __attribute__((fallthrough)) @@ -340,12 +344,18 @@ // Type aliasing hint. Supported since gcc 3.3. #define BOOST_MAY_ALIAS __attribute__((__may_alias__)) -// -// __builtin_unreachable: +// Unreachable code markup #if BOOST_GCC_VERSION >= 40500 #define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); #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 # define BOOST_COMPILER "GNU C++ version " __VERSION__ #endif @@ -359,7 +369,7 @@ // versions check: // 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" #endif // diff --git a/boostregex/boost/config/compiler/gcc_xml.hpp b/boostregex/boost/config/compiler/gcc_xml.hpp index fd6896a81..e23b14d0f 100644 --- a/boostregex/boost/config/compiler/gcc_xml.hpp +++ b/boostregex/boost/config/compiler/gcc_xml.hpp @@ -57,6 +57,7 @@ # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX # define BOOST_NO_CXX11_USER_DEFINED_LITERALS # define BOOST_NO_CXX11_ALIGNAS +# define BOOST_NO_CXX11_ALIGNOF # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_REF_QUALIFIERS @@ -107,7 +108,8 @@ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #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__ - - diff --git a/boostregex/boost/config/compiler/hp_acc.hpp b/boostregex/boost/config/compiler/hp_acc.hpp index cf5667b52..42e35e553 100644 --- a/boostregex/boost/config/compiler/hp_acc.hpp +++ b/boostregex/boost/config/compiler/hp_acc.hpp @@ -121,6 +121,7 @@ #define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS @@ -136,6 +137,10 @@ #define BOOST_NO_CXX11_VARIADIC_MACROS #endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + #endif // diff --git a/boostregex/boost/config/compiler/intel.hpp b/boostregex/boost/config/compiler/intel.hpp index 9a06d2fe3..6a343972e 100644 --- a/boostregex/boost/config/compiler/intel.hpp +++ b/boostregex/boost/config/compiler/intel.hpp @@ -483,6 +483,7 @@ template<> struct assert_intrinsic_wchar_t {}; // 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)) # undef BOOST_NO_CXX11_ALIGNAS +# undef BOOST_NO_CXX11_ALIGNOF #endif // BOOST_NO_CXX11_TRAILING_RESULT_TYPES diff --git a/boostregex/boost/config/compiler/metrowerks.hpp b/boostregex/boost/config/compiler/metrowerks.hpp index 32c1ca9a2..c38efb321 100644 --- a/boostregex/boost/config/compiler/metrowerks.hpp +++ b/boostregex/boost/config/compiler/metrowerks.hpp @@ -122,6 +122,7 @@ #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS @@ -172,6 +173,9 @@ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #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) diff --git a/boostregex/boost/config/compiler/mpw.hpp b/boostregex/boost/config/compiler/mpw.hpp index 750d58841..3adb61221 100644 --- a/boostregex/boost/config/compiler/mpw.hpp +++ b/boostregex/boost/config/compiler/mpw.hpp @@ -71,6 +71,7 @@ #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS @@ -121,6 +122,9 @@ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #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: diff --git a/boostregex/boost/config/compiler/nvcc.hpp b/boostregex/boost/config/compiler/nvcc.hpp index 419dd724a..147f75dbf 100644 --- a/boostregex/boost/config/compiler/nvcc.hpp +++ b/boostregex/boost/config/compiler/nvcc.hpp @@ -57,5 +57,8 @@ # define BOOST_NO_CXX11_NOEXCEPT #endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS #endif +#endif diff --git a/boostregex/boost/config/compiler/pathscale.hpp b/boostregex/boost/config/compiler/pathscale.hpp index 683b0d31b..59ab9b007 100644 --- a/boostregex/boost/config/compiler/pathscale.hpp +++ b/boostregex/boost/config/compiler/pathscale.hpp @@ -84,6 +84,7 @@ # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_USER_DEFINED_LITERALS # define BOOST_NO_CXX11_ALIGNAS +# define BOOST_NO_CXX11_ALIGNOF # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_REF_QUALIFIERS @@ -134,4 +135,7 @@ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif #endif diff --git a/boostregex/boost/config/compiler/sunpro_cc.hpp b/boostregex/boost/config/compiler/sunpro_cc.hpp index c674e8ab5..334b604bb 100644 --- a/boostregex/boost/config/compiler/sunpro_cc.hpp +++ b/boostregex/boost/config/compiler/sunpro_cc.hpp @@ -86,6 +86,12 @@ # define BOOST_SYMBOL_VISIBLE __global #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) // C++03 features in 12.4: #define BOOST_NO_TWO_PHASE_NAME_LOOKUP @@ -120,6 +126,7 @@ #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_FINAL @@ -187,6 +194,9 @@ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #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. // Ticket #11972 diff --git a/boostregex/boost/config/compiler/vacpp.hpp b/boostregex/boost/config/compiler/vacpp.hpp index 0280fe295..3794d3601 100644 --- a/boostregex/boost/config/compiler/vacpp.hpp +++ b/boostregex/boost/config/compiler/vacpp.hpp @@ -133,6 +133,7 @@ # define BOOST_NO_CXX11_VARIADIC_MACROS #endif #define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS @@ -183,3 +184,6 @@ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif diff --git a/boostregex/boost/config/compiler/visualc.hpp b/boostregex/boost/config/compiler/visualc.hpp index 4859c7c81..ce0fc15e3 100644 --- a/boostregex/boost/config/compiler/visualc.hpp +++ b/boostregex/boost/config/compiler/visualc.hpp @@ -107,6 +107,14 @@ # define BOOST_NO_RTTI #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: // @@ -175,6 +183,7 @@ # define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_USER_DEFINED_LITERALS # define BOOST_NO_CXX11_ALIGNAS +# define BOOST_NO_CXX11_ALIGNOF # define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_CHAR32_T @@ -254,6 +263,9 @@ #define BOOST_NO_CXX17_INLINE_VARIABLES #define BOOST_NO_CXX17_FOLD_EXPRESSIONS #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: @@ -262,7 +274,7 @@ #ifndef BOOST_NO_CXX11_THREAD_LOCAL # define BOOST_NO_CXX11_THREAD_LOCAL #endif -#ifndef BOOST_NO_SFINAE_EXPR +#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(_MSVC_LANG) # define BOOST_NO_SFINAE_EXPR #endif #ifndef BOOST_NO_CXX11_REF_QUALIFIERS @@ -296,6 +308,10 @@ # define BOOST_CXX_VERSION 201402L #endif +#if BOOST_CXX_VERSION >= 201703L +# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]] +#endif + #ifndef BOOST_COMPILER // TODO: // these things are mostly bogus. 1200 means version 12.0 of the compiler. The @@ -356,6 +372,8 @@ # define BOOST_COMPILER_VERSION 14.1 # elif _MSC_VER < 1930 # define BOOST_COMPILER_VERSION 14.2 +# elif _MSC_VER < 1940 +# define BOOST_COMPILER_VERSION 14.3 # else # define BOOST_COMPILER_VERSION _MSC_VER # endif @@ -367,8 +385,8 @@ #include // -// last known and checked version is 19.20.27508 (VC++ 2019 RC3): -#if (_MSC_VER > 1920) +// last known and checked version is 19.3x (VS2022): +#if (_MSC_VER >= 1940) # if defined(BOOST_ASSERT_CONFIG) # error "Boost.Config is older than your current compiler version." # elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE) diff --git a/boostregex/boost/config/compiler/xlcpp.hpp b/boostregex/boost/config/compiler/xlcpp.hpp index 6e8688171..4a4477d9d 100644 --- a/boostregex/boost/config/compiler/xlcpp.hpp +++ b/boostregex/boost/config/compiler/xlcpp.hpp @@ -184,6 +184,10 @@ # define BOOST_NO_CXX11_ALIGNAS #endif +#if !__has_feature(cxx_alignof) +# define BOOST_NO_CXX11_ALIGNOF +#endif + #if !__has_feature(cxx_trailing_return) # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #endif @@ -261,6 +265,10 @@ # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #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) # define BOOST_NO_CXX11_THREAD_LOCAL #endif @@ -270,6 +278,10 @@ # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif +// Deprecated symbol markup +#if __has_attribute(deprecated) +#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg))) +#endif // Unused attribute: #if defined(__GNUC__) && (__GNUC__ >= 4) diff --git a/boostregex/boost/config/compiler/xlcpp_zos.hpp b/boostregex/boost/config/compiler/xlcpp_zos.hpp index bc5b7e831..0b288a880 100644 --- a/boostregex/boost/config/compiler/xlcpp_zos.hpp +++ b/boostregex/boost/config/compiler/xlcpp_zos.hpp @@ -142,6 +142,7 @@ #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF #define BOOST_NO_CXX11_UNRESTRICTED_UNION #define BOOST_NO_CXX14_VARIABLE_TEMPLATES #define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION @@ -156,6 +157,7 @@ #define BOOST_NO_CXX17_INLINE_VARIABLES #define BOOST_NO_CXX17_FOLD_EXPRESSIONS #define BOOST_NO_CXX17_IF_CONSTEXPR +#define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS // ------------------------------------- diff --git a/boostregex/boost/config/detail/cxx_composite.hpp b/boostregex/boost/config/detail/cxx_composite.hpp index a243d41f8..acd8e8496 100644 --- a/boostregex/boost/config/detail/cxx_composite.hpp +++ b/boostregex/boost/config/detail/cxx_composite.hpp @@ -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 // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the @@ -81,6 +81,7 @@ #if defined(BOOST_NO_CXX03)\ || defined(BOOST_NO_CXX11_ADDRESSOF)\ || defined(BOOST_NO_CXX11_ALIGNAS)\ + || defined(BOOST_NO_CXX11_ALIGNOF)\ || defined(BOOST_NO_CXX11_ALLOCATOR)\ || defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\ || defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\ @@ -163,6 +164,7 @@ #endif #if defined(BOOST_NO_CXX14)\ + || defined(BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS)\ || defined(BOOST_NO_CXX17_DEDUCTION_GUIDES)\ || defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\ || defined(BOOST_NO_CXX17_HDR_ANY)\ @@ -201,3 +203,16 @@ # define BOOST_NO_CXX20 #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 + diff --git a/boostregex/boost/config/detail/suffix.hpp b/boostregex/boost/config/detail/suffix.hpp index 13d4bb6a6..2650510f6 100644 --- a/boostregex/boost/config/detail/suffix.hpp +++ b/boostregex/boost/config/detail/suffix.hpp @@ -47,6 +47,22 @@ # define BOOST_SYMBOL_VISIBLE #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 . // Note that we use limits.h rather than climits for maximal portability, @@ -668,6 +684,23 @@ namespace std{ using ::type_info; } # define BOOST_NORETURN #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 // These macros are intended to wrap conditional expressions that yield true or false // @@ -1015,6 +1048,9 @@ namespace std{ using ::type_info; } #else #define BOOST_CXX14_CONSTEXPR constexpr #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 @@ -1038,9 +1074,22 @@ namespace std{ using ::type_info; } // // 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 # define BOOST_ATTRIBUTE_UNUSED #endif + // // [[nodiscard]]: // @@ -1208,6 +1257,46 @@ namespace std{ using ::type_info; } #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() || !defined(__cpp_lib_expected) || (__cpp_lib_expected < 202211L)) && !defined(BOOST_NO_CXX23_HDR_EXPECTED) +# define BOOST_NO_CXX23_HDR_EXPECTED +#endif +#if (!__has_include() || !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() || !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() || !defined(__cpp_lib_generator) || (__cpp_lib_generator < 202207L)) && !defined(BOOST_NO_CXX23_HDR_GENERATOR) +# define BOOST_NO_CXX23_HDR_GENERATOR +#endif +#if (!__has_include() || !defined(__cpp_lib_mdspan) || (__cpp_lib_mdspan < 202207L)) && !defined(BOOST_NO_CXX23_HDR_MDSPAN) +# define BOOST_NO_CXX23_HDR_MDSPAN +#endif +#if (!__has_include() || !defined(__cpp_lib_print) || (__cpp_lib_print < 202207L)) && !defined(BOOST_NO_CXX23_HDR_PRINT) +# define BOOST_NO_CXX23_HDR_PRINT +#endif +#if (!__has_include() || !defined(__cpp_lib_spanstream) || (__cpp_lib_spanstream < 202106L)) && !defined(BOOST_NO_CXX23_HDR_SPANSTREAM) +# define BOOST_NO_CXX23_HDR_SPANSTREAM +#endif +#if (!__has_include() || !defined(__cpp_lib_stacktrace) || (__cpp_lib_stacktrace < 202011L)) && !defined(BOOST_NO_CXX23_HDR_STACKTRACE) +# define BOOST_NO_CXX23_HDR_STACKTRACE +#endif +#if !__has_include() && !defined(BOOST_NO_CXX23_HDR_STDFLOAT) +# define BOOST_NO_CXX23_HDR_STDFLOAT +#endif +#endif + #if defined(__cplusplus) && defined(__has_include) #if !__has_include() # define BOOST_NO_CXX20_HDR_VERSION diff --git a/boostregex/boost/config/header_deprecated.hpp b/boostregex/boost/config/header_deprecated.hpp index 864554f2a..120b4b3a9 100644 --- a/boostregex/boost/config/header_deprecated.hpp +++ b/boostregex/boost/config/header_deprecated.hpp @@ -17,7 +17,7 @@ #include -#if defined(BOOST_ALLOW_DEPRECATED_HEADERS) +#if defined(BOOST_ALLOW_DEPRECATED_HEADERS) || defined(BOOST_ALLOW_DEPRECATED) # define BOOST_HEADER_DEPRECATED(a) #else # define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.") diff --git a/boostregex/boost/config/stdlib/dinkumware.hpp b/boostregex/boost/config/stdlib/dinkumware.hpp index 8feccc65a..46ffe093e 100644 --- a/boostregex/boost/config/stdlib/dinkumware.hpp +++ b/boostregex/boost/config/stdlib/dinkumware.hpp @@ -240,6 +240,8 @@ # define BOOST_NO_CXX98_RANDOM_SHUFFLE # define BOOST_NO_CXX98_FUNCTION_BASE # define BOOST_NO_CXX98_BINDERS +# elif defined(_HAS_DEPRECATED_ADAPTOR_TYPEDEFS) && (_HAS_DEPRECATED_ADAPTOR_TYPEDEFS == 0) +# define BOOST_NO_CXX98_BINDERS # endif #endif // @@ -285,6 +287,36 @@ # define BOOST_DINKUMWARE_STDLIB 1 #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 # define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) #else diff --git a/boostregex/boost/config/stdlib/libcpp.hpp b/boostregex/boost/config/stdlib/libcpp.hpp index bc8536ead..0e9f2445e 100644 --- a/boostregex/boost/config/stdlib/libcpp.hpp +++ b/boostregex/boost/config/stdlib/libcpp.hpp @@ -168,4 +168,13 @@ # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #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 --- diff --git a/boostregex/boost/config/stdlib/libstdcpp3.hpp b/boostregex/boost/config/stdlib/libstdcpp3.hpp index 221988360..ad70936de 100644 --- a/boostregex/boost/config/stdlib/libstdcpp3.hpp +++ b/boostregex/boost/config/stdlib/libstdcpp3.hpp @@ -139,7 +139,16 @@ // #ifdef __clang__ -#if __has_include() +#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() +# define BOOST_LIBSTDCXX_VERSION 120100 +#elif __has_include() # define BOOST_LIBSTDCXX_VERSION 110100 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 100100 @@ -168,6 +177,7 @@ #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 40300 #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 // configured to support this type. If not disable it: @@ -257,7 +267,7 @@ extern "C" char *gets (char *__s); # if !_GLIBCXX_DEPRECATED # define BOOST_NO_AUTO_PTR # endif -# elif !_GLIBCXX_USE_DEPRECATED +# elif !defined(_GLIBCXX_USE_DEPRECATED) || !_GLIBCXX_USE_DEPRECATED # define BOOST_NO_AUTO_PTR # define BOOST_NO_CXX98_BINDERS # endif @@ -429,6 +439,13 @@ extern "C" char *gets (char *__s); #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: #if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140) @@ -457,7 +474,7 @@ extern "C" char *gets (char *__s); # 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: # define BOOST_NO_CXX11_HDR_MUTEX #endif diff --git a/boostregex/boost/current_function.hpp b/boostregex/boost/current_function.hpp deleted file mode 100644 index 731d1b13e..000000000 --- a/boostregex/boost/current_function.hpp +++ /dev/null @@ -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 diff --git a/boostregex/boost/exception/current_exception_cast.hpp b/boostregex/boost/exception/current_exception_cast.hpp index 950eeff17..ddcfd27ef 100644 --- a/boostregex/boost/exception/current_exception_cast.hpp +++ b/boostregex/boost/exception/current_exception_cast.hpp @@ -7,7 +7,7 @@ #define BOOST_EXCEPTION_7E83C166200811DE885E826156D89593 #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/detail/clone_current_exception.hpp b/boostregex/boost/exception/detail/clone_current_exception.hpp index 5c953c1a1..d560f1cb8 100644 --- a/boostregex/boost/exception/detail/clone_current_exception.hpp +++ b/boostregex/boost/exception/detail/clone_current_exception.hpp @@ -7,7 +7,7 @@ #define BOOST_EXCEPTION_81522C0EB56511DFAB613DB0DFD72085 #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/detail/error_info_impl.hpp b/boostregex/boost/exception/detail/error_info_impl.hpp index 30ccffd14..d97c6f351 100644 --- a/boostregex/boost/exception/detail/error_info_impl.hpp +++ b/boostregex/boost/exception/detail/error_info_impl.hpp @@ -14,7 +14,7 @@ #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/detail/exception_ptr.hpp b/boostregex/boost/exception/detail/exception_ptr.hpp index c3b97b9c4..ebacd363c 100644 --- a/boostregex/boost/exception/detail/exception_ptr.hpp +++ b/boostregex/boost/exception/detail/exception_ptr.hpp @@ -7,7 +7,7 @@ #ifndef BOOST_EXCEPTION_618474C2DE1511DEB74A388C56D89593 #define BOOST_EXCEPTION_618474C2DE1511DEB74A388C56D89593 -#include +#include #include #include #include @@ -26,7 +26,7 @@ #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ @@ -64,8 +64,7 @@ boost inline wrap_exception_ptr( std::exception_ptr const & e ) { - exception_detail::clone_base const & base = - boost::enable_current_exception(std_exception_ptr_wrapper(std::current_exception())); + exception_detail::clone_base const & base = boost::enable_current_exception(std_exception_ptr_wrapper(e)); return shared_ptr(base.clone()); } #endif @@ -112,14 +111,24 @@ boost } }; + namespace + exception_detail + { + template + inline + exception_ptr + copy_exception_impl( E const & e ) + { + return exception_ptr(boost::make_shared(e)); + } + } + template inline exception_ptr copy_exception( E const & e ) { - E cp = e; - exception_detail::copy_boost_exception(&cp, &e); - return exception_ptr(boost::make_shared >(cp)); + return exception_detail::copy_exception_impl(boost::enable_current_exception(e)); } template @@ -385,6 +394,9 @@ boost { return exception_ptr(shared_ptr(e.clone())); } + +#ifdef BOOST_NO_CXX11_HDR_EXCEPTION + catch( std::domain_error & e ) { @@ -457,19 +469,19 @@ boost { 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( std::exception & e ) { return exception_detail::current_exception_unknown_std_exception(e); } -#endif catch( boost::exception & e ) { return exception_detail::current_exception_unknown_boost_exception(e); } + +#endif // #ifdef BOOST_NO_CXX11_HDR_EXCEPTION + catch( ... ) { diff --git a/boostregex/boost/exception/detail/is_output_streamable.hpp b/boostregex/boost/exception/detail/is_output_streamable.hpp index a61f986bc..980cddc09 100644 --- a/boostregex/boost/exception/detail/is_output_streamable.hpp +++ b/boostregex/boost/exception/detail/is_output_streamable.hpp @@ -9,7 +9,7 @@ #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/detail/object_hex_dump.hpp b/boostregex/boost/exception/detail/object_hex_dump.hpp index c195de50d..42d517b81 100644 --- a/boostregex/boost/exception/detail/object_hex_dump.hpp +++ b/boostregex/boost/exception/detail/object_hex_dump.hpp @@ -14,7 +14,7 @@ #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/detail/requires_cxx11.hpp b/boostregex/boost/exception/detail/requires_cxx11.hpp new file mode 100644 index 000000000..85ab2a376 --- /dev/null +++ b/boostregex/boost/exception/detail/requires_cxx11.hpp @@ -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 +#include + +#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 \ No newline at end of file diff --git a/boostregex/boost/exception/detail/type_info.hpp b/boostregex/boost/exception/detail/type_info.hpp index 0d46fd6e8..72716b52b 100644 --- a/boostregex/boost/exception/detail/type_info.hpp +++ b/boostregex/boost/exception/detail/type_info.hpp @@ -14,7 +14,7 @@ #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/diagnostic_information.hpp b/boostregex/boost/exception/diagnostic_information.hpp index b5496d32e..b26c502db 100644 --- a/boostregex/boost/exception/diagnostic_information.hpp +++ b/boostregex/boost/exception/diagnostic_information.hpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include #ifndef BOOST_NO_RTTI #include #endif @@ -21,7 +21,7 @@ #endif #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ @@ -149,11 +149,11 @@ boost if( f ) { tmp << *f; - if( int const * l=get_error_info(*be) ) + if( l ) tmp << '(' << *l << "): "; } tmp << "Throw in function "; - if( char const * const * fn=get_error_info(*be) ) + if( fn ) tmp << *fn; else tmp << "(unknown)"; diff --git a/boostregex/boost/exception/errinfo_errno.hpp b/boostregex/boost/exception/errinfo_errno.hpp index 31cd78265..08d1a7333 100644 --- a/boostregex/boost/exception/errinfo_errno.hpp +++ b/boostregex/boost/exception/errinfo_errno.hpp @@ -11,7 +11,7 @@ #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/exception.hpp b/boostregex/boost/exception/exception.hpp index ca8d83359..4ec18d7d3 100644 --- a/boostregex/boost/exception/exception.hpp +++ b/boostregex/boost/exception/exception.hpp @@ -19,7 +19,7 @@ namespace boost { namespace exception_detail { using boost::shared_ptr; } } #endif #if !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/get_error_info.hpp b/boostregex/boost/exception/get_error_info.hpp index 09a224aa5..efe093eed 100644 --- a/boostregex/boost/exception/get_error_info.hpp +++ b/boostregex/boost/exception/get_error_info.hpp @@ -14,7 +14,7 @@ #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/info.hpp b/boostregex/boost/exception/info.hpp index 3fd6681f5..f6a350f63 100644 --- a/boostregex/boost/exception/info.hpp +++ b/boostregex/boost/exception/info.hpp @@ -14,7 +14,7 @@ #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/info_tuple.hpp b/boostregex/boost/exception/info_tuple.hpp index 74d7e8734..8dc6a4c31 100644 --- a/boostregex/boost/exception/info_tuple.hpp +++ b/boostregex/boost/exception/info_tuple.hpp @@ -10,7 +10,7 @@ #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/to_string.hpp b/boostregex/boost/exception/to_string.hpp index 9a2c05794..513c87471 100644 --- a/boostregex/boost/exception/to_string.hpp +++ b/boostregex/boost/exception/to_string.hpp @@ -6,12 +6,12 @@ #ifndef BOOST_EXCEPTION_7E48761AD92811DC9011477D56D89593 #define BOOST_EXCEPTION_7E48761AD92811DC9011477D56D89593 -#include +#include #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/exception/to_string_stub.hpp b/boostregex/boost/exception/to_string_stub.hpp index 5fbfba7ec..151b38e5d 100644 --- a/boostregex/boost/exception/to_string_stub.hpp +++ b/boostregex/boost/exception/to_string_stub.hpp @@ -11,7 +11,7 @@ #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS -#if __GNUC__*100+__GNUC_MINOR__>301 +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ diff --git a/boostregex/boost/regex/v5/icu.hpp b/boostregex/boost/regex/v5/icu.hpp index f172553dc..aefd97684 100644 --- a/boostregex/boost/regex/v5/icu.hpp +++ b/boostregex/boost/regex/v5/icu.hpp @@ -190,8 +190,8 @@ public: 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_unicode = char_class_type(1) << offset_unicode; - 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_any = char_class_type(1) << offset_any; + //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_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) { - 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_xdigit = char_class_type(1) << offset_xdigit; - 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_blank = char_class_type(1) << offset_blank; + //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_underscore = char_class_type(1) << offset_underscore; + //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_ascii = char_class_type(1) << offset_ascii; - 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_horizontal = char_class_type(1) << offset_horizontal; + //constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical; static const ::UChar32 prop_name_table[] = { /* any */ 'a', 'n', 'y', diff --git a/boostregex/boost/regex/v5/regex_workaround.hpp b/boostregex/boost/regex/v5/regex_workaround.hpp index e9ca79d4a..8cd9044ce 100644 --- a/boostregex/boost/regex/v5/regex_workaround.hpp +++ b/boostregex/boost/regex/v5/regex_workaround.hpp @@ -116,10 +116,10 @@ namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ const char *strSource ) { - std::size_t lenSourceWithNull = std::strlen(strSource) + 1; - if (lenSourceWithNull > sizeInBytes) + std::size_t lenSourceWithNull = std::strlen(strSource) + 1; + if (lenSourceWithNull > sizeInBytes) return 1; - std::memcpy(strDestination, strSource, lenSourceWithNull); + std::memcpy(strDestination, strSource, lenSourceWithNull); return 0; } inline std::size_t strcat_s( @@ -128,11 +128,11 @@ namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ const char *strSource ) { - std::size_t lenSourceWithNull = std::strlen(strSource) + 1; - std::size_t lenDestination = std::strlen(strDestination); - if (lenSourceWithNull + lenDestination > sizeInBytes) + std::size_t lenSourceWithNull = std::strlen(strSource) + 1; + std::size_t lenDestination = std::strlen(strDestination); + if (lenSourceWithNull + lenDestination > sizeInBytes) return 1; - std::memcpy(strDestination + lenDestination, strSource, lenSourceWithNull); + std::memcpy(strDestination + lenDestination, strSource, lenSourceWithNull); return 0; } diff --git a/boostregex/boost/throw_exception.hpp b/boostregex/boost/throw_exception.hpp index c50677ac5..7c7fcbddc 100644 --- a/boostregex/boost/throw_exception.hpp +++ b/boostregex/boost/throw_exception.hpp @@ -54,7 +54,7 @@ typedef char (&wrapexcept_s2)[ 2 ]; template wrapexcept_s1 wrapexcept_is_convertible( T* ); template wrapexcept_s2 wrapexcept_is_convertible( void* ); -template( static_cast< E* >( 0 ) ) ) > struct wrapexcept_add_base; +template( static_cast< E* >( BOOST_NULLPTR ) ) ) > struct wrapexcept_add_base; template struct wrapexcept_add_base { @@ -104,9 +104,9 @@ public: copy_from( &e ); set_info( *this, throw_file( loc.file_name() ) ); - set_info( *this, throw_line( loc.line() ) ); + set_info( *this, throw_line( static_cast( loc.line() ) ) ); set_info( *this, throw_function( loc.function_name() ) ); - set_info( *this, throw_column( loc.column() ) ); + set_info( *this, throw_column( static_cast( loc.column() ) ) ); } virtual boost::exception_detail::clone_base const * clone() const BOOST_OVERRIDE