summaryrefslogtreecommitdiff
path: root/boost/config
diff options
context:
space:
mode:
Diffstat (limited to 'boost/config')
-rw-r--r--boost/config/auto_link.hpp8
-rw-r--r--boost/config/compiler/borland.hpp4
-rw-r--r--boost/config/compiler/clang.hpp2
-rw-r--r--boost/config/compiler/codegear.hpp4
-rw-r--r--boost/config/compiler/comeau.hpp2
-rw-r--r--boost/config/compiler/digitalmars.hpp2
-rw-r--r--boost/config/compiler/gcc.hpp6
-rw-r--r--boost/config/compiler/greenhills.hpp2
-rw-r--r--boost/config/compiler/hp_acc.hpp2
-rw-r--r--boost/config/compiler/intel.hpp7
-rw-r--r--boost/config/compiler/kai.hpp2
-rw-r--r--boost/config/compiler/metrowerks.hpp2
-rw-r--r--boost/config/compiler/mpw.hpp2
-rw-r--r--boost/config/compiler/vacpp.hpp2
-rw-r--r--boost/config/compiler/visualc.hpp12
-rw-r--r--boost/config/detail/select_compiler_config.hpp3
-rw-r--r--boost/config/detail/suffix.hpp13
-rw-r--r--boost/config/stdlib/libcpp.hpp14
-rw-r--r--boost/config/stdlib/libstdcpp3.hpp2
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)