diff options
Diffstat (limited to 'boost/config')
-rw-r--r-- | boost/config/auto_link.hpp | 8 | ||||
-rw-r--r-- | boost/config/compiler/borland.hpp | 4 | ||||
-rw-r--r-- | boost/config/compiler/clang.hpp | 2 | ||||
-rw-r--r-- | boost/config/compiler/codegear.hpp | 4 | ||||
-rw-r--r-- | boost/config/compiler/comeau.hpp | 2 | ||||
-rw-r--r-- | boost/config/compiler/digitalmars.hpp | 2 | ||||
-rw-r--r-- | boost/config/compiler/gcc.hpp | 6 | ||||
-rw-r--r-- | boost/config/compiler/greenhills.hpp | 2 | ||||
-rw-r--r-- | boost/config/compiler/hp_acc.hpp | 2 | ||||
-rw-r--r-- | boost/config/compiler/intel.hpp | 7 | ||||
-rw-r--r-- | boost/config/compiler/kai.hpp | 2 | ||||
-rw-r--r-- | boost/config/compiler/metrowerks.hpp | 2 | ||||
-rw-r--r-- | boost/config/compiler/mpw.hpp | 2 | ||||
-rw-r--r-- | boost/config/compiler/vacpp.hpp | 2 | ||||
-rw-r--r-- | boost/config/compiler/visualc.hpp | 12 | ||||
-rw-r--r-- | boost/config/detail/select_compiler_config.hpp | 3 | ||||
-rw-r--r-- | boost/config/detail/suffix.hpp | 13 | ||||
-rw-r--r-- | boost/config/stdlib/libcpp.hpp | 14 | ||||
-rw-r--r-- | boost/config/stdlib/libstdcpp3.hpp | 2 |
19 files changed, 67 insertions, 24 deletions
diff --git a/boost/config/auto_link.hpp b/boost/config/auto_link.hpp index 271f837911..f34353b53d 100644 --- a/boost/config/auto_link.hpp +++ b/boost/config/auto_link.hpp @@ -28,6 +28,9 @@ BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option. This is essentially the same as the default name-mangled version, but without the compiler name and version, or the Boost version. Just the build options. +BOOST_AUTO_LINK_SYSTEM: Specifies that we link to libraries built with the --layout=system option. + This is essentially the same as the non-name-mangled version, but with + the prefix to differentiate static and dll builds These macros will be undef'ed at the end of the header, further this header has no include guards - so be sure to include it only once from your library! @@ -406,6 +409,11 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib") # endif +#elif defined(BOOST_AUTO_LINK_SYSTEM) +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") +# endif #elif defined(BOOST_AUTO_LINK_NOMANGLE) # pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") # ifdef BOOST_LIB_DIAGNOSTIC diff --git a/boost/config/compiler/borland.hpp b/boost/config/compiler/borland.hpp index cb164f8f2a..beec94621f 100644 --- a/boost/config/compiler/borland.hpp +++ b/boost/config/compiler/borland.hpp @@ -19,9 +19,9 @@ // last known compiler version: #if (__BORLANDC__ > 0x613) //# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" //# else -//# pragma message( "Unknown compiler version - please run the configure tests and report the results") +//# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results") //# endif #elif (__BORLANDC__ == 0x600) # error "CBuilderX preview compiler is no longer supported" diff --git a/boost/config/compiler/clang.hpp b/boost/config/compiler/clang.hpp index 3d893c689a..3a59ff5878 100644 --- a/boost/config/compiler/clang.hpp +++ b/boost/config/compiler/clang.hpp @@ -104,9 +104,9 @@ # define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) #else # define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) +# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) # define BOOST_SYMBOL_IMPORT #endif -#define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) // // The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through diff --git a/boost/config/compiler/codegear.hpp b/boost/config/compiler/codegear.hpp index c2cfe15c64..52531d2f08 100644 --- a/boost/config/compiler/codegear.hpp +++ b/boost/config/compiler/codegear.hpp @@ -22,9 +22,9 @@ // last known and checked version is 0x621 #if (__CODEGEARC__ > 0x621) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # else -# pragma message( "Unknown compiler version - please run the configure tests and report the results") +# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results") # endif #endif diff --git a/boost/config/compiler/comeau.hpp b/boost/config/compiler/comeau.hpp index 09841604f9..ca80fac37a 100644 --- a/boost/config/compiler/comeau.hpp +++ b/boost/config/compiler/comeau.hpp @@ -50,7 +50,7 @@ // last known and checked version is 4245: #if (__COMO_VERSION__ > 4245) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/boost/config/compiler/digitalmars.hpp b/boost/config/compiler/digitalmars.hpp index 3e9a3ab0f5..1466373191 100644 --- a/boost/config/compiler/digitalmars.hpp +++ b/boost/config/compiler/digitalmars.hpp @@ -135,6 +135,6 @@ // last known and checked version is ...: #if (__DMC__ > 0x848) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/boost/config/compiler/gcc.hpp b/boost/config/compiler/gcc.hpp index 19ccc592fd..594c44f572 100644 --- a/boost/config/compiler/gcc.hpp +++ b/boost/config/compiler/gcc.hpp @@ -346,14 +346,14 @@ # error "Compiler not configured - please reconfigure" #endif // -// last known and checked version is 7.1: -#if (BOOST_GCC_VERSION > 70100) +// last known and checked version is 8.1: +#if (BOOST_GCC_VERSION > 80100) # if defined(BOOST_ASSERT_CONFIG) # error "Boost.Config is older than your compiler - please check for an updated Boost release." # else // we don't emit warnings here anymore since there are no defect macros defined for // gcc post 3.4, so any failures are gcc regressions... -//# warning "Unknown compiler version - please run the configure tests and report the results" +//# warning "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/boost/config/compiler/greenhills.hpp b/boost/config/compiler/greenhills.hpp index a76a07cf4a..39112c2c1c 100644 --- a/boost/config/compiler/greenhills.hpp +++ b/boost/config/compiler/greenhills.hpp @@ -21,7 +21,7 @@ // last known and checked version is 0: #if (__ghs > 0) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/boost/config/compiler/hp_acc.hpp b/boost/config/compiler/hp_acc.hpp index 9df18eaf67..49d676fa2b 100644 --- a/boost/config/compiler/hp_acc.hpp +++ b/boost/config/compiler/hp_acc.hpp @@ -142,6 +142,6 @@ // last known and checked version for PA-RISC is 38000 #if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98))) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/boost/config/compiler/intel.hpp b/boost/config/compiler/intel.hpp index 0eea05b916..f56807dbbc 100644 --- a/boost/config/compiler/intel.hpp +++ b/boost/config/compiler/intel.hpp @@ -46,12 +46,17 @@ #undef BOOST_GCC_VERSION #undef BOOST_GCC_CXX11 #undef BOOST_GCC +#undef BOOST_FALLTHROUGH // Broken in all versions up to 17 (newer versions not tested) #if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR) # define BOOST_NO_CXX14_CONSTEXPR #endif +#if (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703) +# define BOOST_FALLTHROUGH [[fallthrough]] +#endif + #endif // defined(_MSC_VER) #undef BOOST_COMPILER @@ -558,7 +563,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {}; // We don't emit this warning any more, since we have so few // defect macros set anyway (just the one). // -//# pragma message("Unknown compiler version - please run the configure tests and report the results") +//# pragma message("boost: Unknown compiler version - please run the configure tests and report the results") # endif #endif diff --git a/boost/config/compiler/kai.hpp b/boost/config/compiler/kai.hpp index 960d501c86..0b22ec1d6c 100644 --- a/boost/config/compiler/kai.hpp +++ b/boost/config/compiler/kai.hpp @@ -25,7 +25,7 @@ // last known and checked version is 4001: #if (__KCC_VERSION > 4001) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/boost/config/compiler/metrowerks.hpp b/boost/config/compiler/metrowerks.hpp index 4bfc01ece1..0e18e1809e 100644 --- a/boost/config/compiler/metrowerks.hpp +++ b/boost/config/compiler/metrowerks.hpp @@ -183,7 +183,7 @@ // last known and checked version: #if (__MWERKS__ > 0x3205) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/boost/config/compiler/mpw.hpp b/boost/config/compiler/mpw.hpp index 2292ada092..05c066efbc 100644 --- a/boost/config/compiler/mpw.hpp +++ b/boost/config/compiler/mpw.hpp @@ -130,7 +130,7 @@ // last known and checked version is 0x890: #if (MPW_CPLUS > 0x890) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/boost/config/compiler/vacpp.hpp b/boost/config/compiler/vacpp.hpp index cabe844ffd..8e26449968 100644 --- a/boost/config/compiler/vacpp.hpp +++ b/boost/config/compiler/vacpp.hpp @@ -56,7 +56,7 @@ // last known and checked version is 1210: #if (__IBMCPP__ > 1210) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/boost/config/compiler/visualc.hpp b/boost/config/compiler/visualc.hpp index ded7284a62..29642473cd 100644 --- a/boost/config/compiler/visualc.hpp +++ b/boost/config/compiler/visualc.hpp @@ -202,6 +202,8 @@ #if (_MSC_VER < 1911) || (_MSVC_LANG < 201703) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS # define BOOST_NO_CXX17_IF_CONSTEXPR +# define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW #endif // MSVC including version 14 has not yet completely @@ -234,9 +236,11 @@ // Supported from msvc-15.5 onwards: #define BOOST_NO_CXX11_SFINAE_EXPR #endif +#if (_MSC_VER < 1915) || (_MSVC_LANG < 201402) // C++ 14: // Still gives internal compiler error for msvc-15.5: # define BOOST_NO_CXX14_CONSTEXPR +#endif // C++ 17: #if (_MSC_VER < 1912) || (_MSVC_LANG < 201703) #define BOOST_NO_CXX17_INLINE_VARIABLES @@ -284,9 +288,9 @@ # if _MSC_VER < 1400 // Note: I'm not aware of any CE compiler with version 13xx # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown EVC++ compiler version - please run the configure tests and report the results" +# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results" # else -# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results") +# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results") # endif # elif _MSC_VER < 1500 # define BOOST_COMPILER_VERSION evc8 @@ -302,9 +306,9 @@ # define BOOST_COMPILER_VERSION evc14 # else # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown EVC++ compiler version - please run the configure tests and report the results" +# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results" # else -# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results") +# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results") # endif # endif # else diff --git a/boost/config/detail/select_compiler_config.hpp b/boost/config/detail/select_compiler_config.hpp index ced8443da9..8970dffb4f 100644 --- a/boost/config/detail/select_compiler_config.hpp +++ b/boost/config/detail/select_compiler_config.hpp @@ -39,8 +39,7 @@ // Intel # define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" -#elif defined __clang__ && !defined(__CUDACC__) && !defined(__ibmxl__) -// when using clang and cuda at same time, you want to appear as gcc +#elif defined __clang__ && !defined(__ibmxl__) // Clang C++ emulates GCC, so it has to appear early. # define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp" diff --git a/boost/config/detail/suffix.hpp b/boost/config/detail/suffix.hpp index 22d31f68db..cee9647b6b 100644 --- a/boost/config/detail/suffix.hpp +++ b/boost/config/detail/suffix.hpp @@ -1023,6 +1023,19 @@ namespace std{ using ::type_info; } # define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS #endif +// This is a catch all case for obsolete compilers / std libs: +#if !defined(__has_include) +# define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW +#else +#if !__has_include(<optional>) +# define BOOST_NO_CXX17_HDR_OPTIONAL +#endif +#if !__has_include(<string_view>) +# define BOOST_NO_CXX17_HDR_STRING_VIEW +#endif +#endif + // // Finish off with checks for macros that are depricated / no longer supported, // if any of these are set then it's very likely that much of Boost will no diff --git a/boost/config/stdlib/libcpp.hpp b/boost/config/stdlib/libcpp.hpp index a051dbb750..ffe2f2a0f5 100644 --- a/boost/config/stdlib/libcpp.hpp +++ b/boost/config/stdlib/libcpp.hpp @@ -89,6 +89,8 @@ // C++17 features #if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L) # define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW #endif #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR) # define BOOST_NO_AUTO_PTR @@ -111,10 +113,16 @@ # define BOOST_NO_CXX11_THREAD_LOCAL #endif -#if defined(__linux__) && !defined(BOOST_NO_CXX11_THREAD_LOCAL) +#if defined(__linux__) && (_LIBCPP_VERSION < 6000) && !defined(BOOST_NO_CXX11_THREAD_LOCAL) // After libc++-dev is installed on Trusty, clang++-libc++ almost works, // except uses of `thread_local` fail with undefined reference to // `__cxa_thread_atexit`. +// +// clang's libc++abi provides an implementation by deferring to the glibc +// implementation, which may or may not be available (it is not on Trusty). +// clang 4's libc++abi will provide an implementation if one is not in glibc +// though, so thread local support should work with clang 4 and above as long +// as libc++abi is linked in. # define BOOST_NO_CXX11_THREAD_LOCAL #endif @@ -128,4 +136,8 @@ # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif +#if !defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && (_LIBCPP_VERSION < 5000) +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + // --- end --- diff --git a/boost/config/stdlib/libstdcpp3.hpp b/boost/config/stdlib/libstdcpp3.hpp index f6eab26c65..38209ddd45 100644 --- a/boost/config/stdlib/libstdcpp3.hpp +++ b/boost/config/stdlib/libstdcpp3.hpp @@ -299,6 +299,8 @@ extern "C" char *gets (char *__s); #if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L) # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW #endif #if defined(__has_include) |