]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add another workaround to std::variant for Clang bug 31852
authorJonathan Wakely <jwakely@redhat.com>
Wed, 4 Jul 2018 13:59:28 +0000 (14:59 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 4 Jul 2018 13:59:28 +0000 (14:59 +0100)
Backport from mainline
2018-04-05  Jonathan Wakely  <jwakely@redhat.com>

* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
__get calls to avoid ADL and avoid ambiguity due to Clang bug.

From-SVN: r262408

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/variant

index e0f4d61e33bfc125bee22bc6128317ab340d0602..657965c403911a29450e2e1409b845feaa999095 100644 (file)
@@ -1,5 +1,11 @@
 2018-07-04  Jonathan Wakely  <jwakely@redhat.com>
 
+       Backport from mainline
+       2018-04-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
+       __get calls to avoid ADL and avoid ambiguity due to Clang bug.
+
        Backport from mainline
        2018-03-26  Jonathan Wakely  <jwakely@redhat.com>
 
index 6762a7bb250b271f8518937a85a51b735ab377bc..4b70dc04d112f7282f490525f5194ee310295ae6 100644 (file)
@@ -278,8 +278,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     constexpr bool \
     __erased_##__NAME(const _Variant& __lhs, const _Variant& __rhs) \
     { \
-      return __get<_Np>(std::forward<_Variant>(__lhs)) \
-         __OP __get<_Np>(std::forward<_Variant>(__rhs)); \
+      return __variant::__get<_Np>(std::forward<_Variant>(__lhs)) \
+         __OP __variant::__get<_Np>(std::forward<_Variant>(__rhs)); \
     }
 
   _VARIANT_RELATION_FUNCTION_TEMPLATE(<, less)