Add another workaround to std::variant for Clang bug 31852

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

From-SVN: r259135
This commit is contained in:
Jonathan Wakely 2018-04-05 17:59:13 +01:00 committed by Jonathan Wakely
parent b5f3bb7b5f
commit 970d3d9011
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
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.
2018-04-03 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/85183
@ -18,7 +23,7 @@
(less::__not_overloaded, greater_equal::__not_overloaded)
(less_equal::__not_overloaded): Fix ambiguous specializations.
* testsuite/20_util/function_objects/comparisons_pointer.cc: Add
tests for type with overlaoded operators.
tests for type with overloaded operators.
2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>

View File

@ -272,8 +272,8 @@ namespace __variant
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)