From f9bfac12976abe36667c3465063bd505b9878cab Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sun, 12 Oct 2014 13:20:11 +0100 Subject: [PATCH] Fix broken with clang, tentatively fix clang number separator option. --- include/boost/config/compiler/clang.hpp | 2 +- include/boost/config/stdlib/libstdcpp3.hpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/boost/config/compiler/clang.hpp b/include/boost/config/compiler/clang.hpp index 065ea3c7..74073b41 100644 --- a/include/boost/config/compiler/clang.hpp +++ b/include/boost/config/compiler/clang.hpp @@ -237,7 +237,7 @@ # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif -#if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4) +#if ((__clang_major__ < 3) || (__clang_major__ == 3 && __clang_minor__ < 4)) || (__cplusplus < 201400) # define BOOST_NO_CXX14_DIGIT_SEPARATOR #endif diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp index 6827cafa..f4a89862 100644 --- a/include/boost/config/stdlib/libstdcpp3.hpp +++ b/include/boost/config/stdlib/libstdcpp3.hpp @@ -209,6 +209,12 @@ // even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively. # define BOOST_NO_CXX11_HDR_REGEX #endif + +#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7))) +// As of clang-3.6, libstdc++ header throws up errors with clang: +# define BOOST_NO_CXX11_HDR_ATOMIC +#endif + // C++0x headers not yet (fully!) implemented // # define BOOST_NO_CXX11_HDR_TYPE_TRAITS