From d64db438414c29b7a3590cc2552264ede6d37a46 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 4 Jul 2018 13:59:28 +0000 Subject: Add another workaround to std::variant for Clang bug 31852 Backport from mainline 2018-04-05 Jonathan Wakely * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify __get calls to avoid ADL and avoid ambiguity due to Clang bug. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@262408 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/include/std/variant | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e0f4d61e33b..657965c4039 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,11 @@ 2018-07-04 Jonathan Wakely + Backport from mainline + 2018-04-05 Jonathan Wakely + + * 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 diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant index 6762a7bb250..4b70dc04d11 100644 --- a/libstdc++-v3/include/std/variant +++ b/libstdc++-v3/include/std/variant @@ -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) -- cgit v1.2.3