Commit 970d3d90 by Jonathan Wakely Committed by Jonathan Wakely

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
parent b5f3bb7b
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> 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/85183 PR libstdc++/85183
...@@ -18,7 +23,7 @@ ...@@ -18,7 +23,7 @@
(less::__not_overloaded, greater_equal::__not_overloaded) (less::__not_overloaded, greater_equal::__not_overloaded)
(less_equal::__not_overloaded): Fix ambiguous specializations. (less_equal::__not_overloaded): Fix ambiguous specializations.
* testsuite/20_util/function_objects/comparisons_pointer.cc: Add * 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> 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
......
...@@ -272,8 +272,8 @@ namespace __variant ...@@ -272,8 +272,8 @@ namespace __variant
constexpr bool \ constexpr bool \
__erased_##__NAME(const _Variant& __lhs, const _Variant& __rhs) \ __erased_##__NAME(const _Variant& __lhs, const _Variant& __rhs) \
{ \ { \
return __get<_Np>(std::forward<_Variant>(__lhs)) \ return __variant::__get<_Np>(std::forward<_Variant>(__lhs)) \
__OP __get<_Np>(std::forward<_Variant>(__rhs)); \ __OP __variant::__get<_Np>(std::forward<_Variant>(__rhs)); \
} }
_VARIANT_RELATION_FUNCTION_TEMPLATE(<, less) _VARIANT_RELATION_FUNCTION_TEMPLATE(<, less)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment