summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2018-03-13 13:24:36 +0000
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2018-03-13 13:24:36 +0000
commit66b3b7162acfea54a4806dd7f65789e0eab7f16a (patch)
treefc4f89b371088278c60f0b9ae2eb3290a1a73d6d
parentbcc8105027f48b056f84a33210c9caa959878fc3 (diff)
downloadgcc-7-branch.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/ChangeLog9
-rw-r--r--libstdc++-v3/include/std/variant14
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 { };