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 <jwak...@redhat.com>
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:

Reply via email to