From c2d2be021aa7744778b0371d52d331c36d52a4c6 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sat, 8 Apr 2017 06:17:43 +0100 Subject: [PATCH] Don't test inserting from initializer list in old clang There's a problem with it causing an ambiguous overload. I don't think there's anything we can do to fix that, so just don't test it. There's another bug where a std::pair doesn't get correctly constructed from an rvalue when using Clang 3.1 in C++11 mode. But I can't see any way to easily fix that, and it's a pretty old compiler now. --- test/unordered/compile_tests.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/unordered/compile_tests.hpp b/test/unordered/compile_tests.hpp index fb908ffd..babfd2fa 100644 --- a/test/unordered/compile_tests.hpp +++ b/test/unordered/compile_tests.hpp @@ -638,7 +638,9 @@ void unordered_copyable_test(X& x, Key& k, T& t, Hash& hf, Pred& eq) a.insert(list); a.insert({t, t, t}); -#if !BOOST_WORKAROUND(BOOST_MSVC, < 1900) +#if !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && \ + (!defined(__clang__) || __clang_major__ >= 4 || \ + (__clang_major__ == 3 && __clang_minor__ >= 4)) a.insert({}); a.insert({t}); a.insert({t, t});