aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2018-07-04 13:59:28 +0000
committerJonathan Wakely <jwakely@redhat.com>2018-07-04 13:59:28 +0000
commitd64db438414c29b7a3590cc2552264ede6d37a46 (patch)
tree8979fdfba1b17e70cd826753a134c8dc54e9a835
parent6917b35a66d6f730fe99aeb75fdc4326adb3b67b (diff)
Add another workaround to std::variant for Clang bug 31852
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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@262408 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/std/variant4
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,6 +1,12 @@
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>
* include/std/variant (__get): Qualify calls to avoid ADL.
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)