blob: 9d6715ada8a2c24a452d23ddcc979d0596380c2e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
--- boost/config/compiler/clang.hpp.orig 2023-08-08 21:02:50 UTC
+++ boost/config/compiler/clang.hpp
@@ -126,6 +126,16 @@
# endif
#endif
+//
+// Pick up _LIBCPP_VERSION definition if we are using libc++
+// If _LIBCPP_VERSION is not defined, then we will assume that
+// we are compiling on FreeBSD 9.x and using ancient libstdc++
+// from base gcc 4.2 with limited c++11 support.
+//
+#ifdef __cplusplus
+# include <ciso646>
+#endif
+
#if !__has_feature(cxx_auto_type)
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
@@ -208,7 +218,13 @@
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#endif
-#if !__has_feature(cxx_rvalue_references)
+//
+// clang on FreeBSD 9.x uses libstdc++ from base GCC 4.2.1 which
+// does not support std::forward which this feature requires.
+// Assume that the lack of a _LIBCPP_VERSION definition indicates
+// that is our environment.
+//
+#if !__has_feature(cxx_rvalue_references) || !defined(_LIBCPP_VERSION)
# define BOOST_NO_CXX11_RVALUE_REFERENCES
#endif
|