diff options
author | redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-03-13 13:24:36 +0000 |
---|---|---|
committer | redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-03-13 13:24:36 +0000 |
commit | 66b3b7162acfea54a4806dd7f65789e0eab7f16a (patch) | |
tree | fc4f89b371088278c60f0b9ae2eb3290a1a73d6d | |
parent | bcc8105027f48b056f84a33210c9caa959878fc3 (diff) | |
download | gcc-66b3b7162acfea54a4806dd7f65789e0eab7f16a.tar.gz |
PR libstdc++/84769 qualify std::get and std::get_if to avoid ADLgcc-7-branch
Backport from mainline
2018-03-09 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/84769
* include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@258482 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | libstdc++-v3/ChangeLog | 9 | ||||
-rw-r--r-- | libstdc++-v3/include/std/variant | 14 |
2 files changed, 17 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index c88e81904df..41ab6772495 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2018-03-13 Jonathan Wakely <jwakely@redhat.com> + + Backport from mainline + 2018-03-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/84769 + * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>): + Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>. + 2018-03-12 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/84773 diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant index 1f1a8492323..0180eefd169 100644 --- a/libstdc++-v3/include/std/variant +++ b/libstdc++-v3/include/std/variant @@ -741,7 +741,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, "T should occur for exactly once in alternatives"); static_assert(!is_void_v<_Tp>, "_Tp should not be void"); - return get<__detail::__variant::__index_of_v<_Tp, _Types...>>(__v); + return std::get<__detail::__variant::__index_of_v<_Tp, _Types...>>(__v); } template<typename _Tp, typename... _Types> @@ -750,7 +750,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, "T should occur for exactly once in alternatives"); static_assert(!is_void_v<_Tp>, "_Tp should not be void"); - return get<__detail::__variant::__index_of_v<_Tp, _Types...>>( + return std::get<__detail::__variant::__index_of_v<_Tp, _Types...>>( std::move(__v)); } @@ -760,7 +760,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, "T should occur for exactly once in alternatives"); static_assert(!is_void_v<_Tp>, "_Tp should not be void"); - return get<__detail::__variant::__index_of_v<_Tp, _Types...>>(__v); + return std::get<__detail::__variant::__index_of_v<_Tp, _Types...>>(__v); } template<typename _Tp, typename... _Types> @@ -769,7 +769,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, "T should occur for exactly once in alternatives"); static_assert(!is_void_v<_Tp>, "_Tp should not be void"); - return get<__detail::__variant::__index_of_v<_Tp, _Types...>>( + return std::get<__detail::__variant::__index_of_v<_Tp, _Types...>>( std::move(__v)); } @@ -808,7 +808,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, "T should occur for exactly once in alternatives"); static_assert(!is_void_v<_Tp>, "_Tp should not be void"); - return get_if<__detail::__variant::__index_of_v<_Tp, _Types...>>(__ptr); + return std::get_if<__detail::__variant::__index_of_v<_Tp, _Types...>>( + __ptr); } template<typename _Tp, typename... _Types> @@ -819,7 +820,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static_assert(__detail::__variant::__exactly_once<_Tp, _Types...>, "T should occur for exactly once in alternatives"); static_assert(!is_void_v<_Tp>, "_Tp should not be void"); - return get_if<__detail::__variant::__index_of_v<_Tp, _Types...>>(__ptr); + return std::get_if<__detail::__variant::__index_of_v<_Tp, _Types...>>( + __ptr); } struct monostate { }; |