diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-07-04 13:59:28 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2018-07-04 13:59:28 +0000 |
commit | d64db438414c29b7a3590cc2552264ede6d37a46 (patch) | |
tree | 8979fdfba1b17e70cd826753a134c8dc54e9a835 | |
parent | 6917b35a66d6f730fe99aeb75fdc4326adb3b67b (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/ChangeLog | 6 | ||||
-rw-r--r-- | 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,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) |