The bug https://bugs.llvm.org/show_bug.cgi?id=33222 is now fixed on
Clang trunk, so the workaround won't be needed for Clang 8.0 and later.
* include/std/variant (variant) [__clang__]: Limit workaround to
Clang 7 and older.
Tested x86_64-linux, committed to trunk.
I hope somebody will check with Clang trunk soon and verify this
works.
commit 6112f62b32c84edd2e2369116ad233f6fef5b585
Author: Jonathan Wakely <[email protected]>
Date: Thu Sep 13 14:30:05 2018 +0100
Limit workaround for Clang bug to __clang_major__ <= 7
The bug https://bugs.llvm.org/show_bug.cgi?id=33222 is now fixed on
Clang trunk, so the workaround won't be needed for Clang 8.0 and later.
* include/std/variant (variant) [__clang__]: Limit workaround to
Clang 7 and older.
diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant
index 2d86a704c63..5a77e9e2d84 100644
--- a/libstdc++-v3/include/std/variant
+++ b/libstdc++-v3/include/std/variant
@@ -1296,7 +1296,7 @@ namespace __variant
#undef _VARIANT_RELATION_FUNCTION_TEMPLATE
-#ifdef __clang__
+#if defined(__clang__) && __clang_major__ <= 7
public:
using _Base::_M_u; // See https://bugs.llvm.org/show_bug.cgi?id=31852
private: