Limit workaround for Clang bug to __clang_major__ <= 7

Message ID 20180913134816.GA2555@redhat.com
State New
Headers show
Series
  • Limit workaround for Clang bug to __clang_major__ <= 7
Related show

Commit Message

Jonathan Wakely Sept. 13, 2018, 1:48 p.m.
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 <jwakely@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.

Patch

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: