diff options
Diffstat (limited to 'devel/boost-libs/files/patch-boost_config_compiler_clang.hpp')
-rw-r--r-- | devel/boost-libs/files/patch-boost_config_compiler_clang.hpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/devel/boost-libs/files/patch-boost_config_compiler_clang.hpp b/devel/boost-libs/files/patch-boost_config_compiler_clang.hpp new file mode 100644 index 000000000000..ed9ad4e0c569 --- /dev/null +++ b/devel/boost-libs/files/patch-boost_config_compiler_clang.hpp @@ -0,0 +1,34 @@ +--- boost/config/compiler/clang.hpp.orig 2016-09-21 14:33:21 UTC ++++ boost/config/compiler/clang.hpp +@@ -110,6 +110,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 +@@ -192,7 +202,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 + |