diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 17 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/erase_if.h | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/std/deque | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/std/forward_list | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/std/list | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/std/string | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/std/vector | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/std/version | 1 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/23_containers/deque/erasure.cc | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/23_containers/list/erasure.cc | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/23_containers/map/erasure.cc | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/23_containers/set/erasure.cc | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/23_containers/vector/erasure.cc | 6 |
16 files changed, 83 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 19a12f8..00ebddd 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,22 @@ 2019-01-10 Jonathan Wakely <jwakely@redhat.com> + * include/bits/erase_if.h: Define __cpp_lib_erase_if. + * include/std/deque: Likewise. + * include/std/forward_list: Likewise. + * include/std/list: Likewise. + * include/std/string: Likewise. + * include/std/vector: Likewise. + * include/std/version: Likewise. + * testsuite/21_strings/basic_string/erasure.cc: Test macro. + * testsuite/23_containers/deque/erasure.cc: Likewise. + * testsuite/23_containers/forward_list/erasure.cc: Likewise. + * testsuite/23_containers/list/erasure.cc: Likewise. + * testsuite/23_containers/map/erasure.cc: Likewise. + * testsuite/23_containers/set/erasure.cc: Likewise. + * testsuite/23_containers/unordered_map/erasure.cc: Likewise. + * testsuite/23_containers/unordered_set/erasure.cc: Likewise. + * testsuite/23_containers/vector/erasure.cc: Likewise. + * include/experimental/internet [AI_NUMERICSERV] (resolver_base::numeric_service): Define conditionally. * testsuite/experimental/net/internet/resolver/base.cc: Test it diff --git a/libstdc++-v3/include/bits/erase_if.h b/libstdc++-v3/include/bits/erase_if.h index 9e865c6..d84f5ff 100644 --- a/libstdc++-v3/include/bits/erase_if.h +++ b/libstdc++-v3/include/bits/erase_if.h @@ -38,6 +38,8 @@ namespace std { _GLIBCXX_BEGIN_NAMESPACE_VERSION +#define __cpp_lib_erase_if 201900L + namespace __detail { template<typename _Container, typename _Predicate> diff --git a/libstdc++-v3/include/std/deque b/libstdc++-v3/include/std/deque index 7932b1c..ed4927e 100644 --- a/libstdc++-v3/include/std/deque +++ b/libstdc++-v3/include/std/deque @@ -94,6 +94,9 @@ _GLIBCXX_END_NAMESPACE_VERSION namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION + +#define __cpp_lib_erase_if 201900L + template<typename _Tp, typename _Alloc, typename _Predicate> inline typename deque<_Tp, _Alloc>::size_type erase_if(deque<_Tp, _Alloc>& __cont, _Predicate __pred) diff --git a/libstdc++-v3/include/std/forward_list b/libstdc++-v3/include/std/forward_list index 93c9590..3d3b6d4 100644 --- a/libstdc++-v3/include/std/forward_list +++ b/libstdc++-v3/include/std/forward_list @@ -65,6 +65,9 @@ _GLIBCXX_END_NAMESPACE_VERSION namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION + +#define __cpp_lib_erase_if 201900L + template<typename _Tp, typename _Alloc, typename _Predicate> inline typename forward_list<_Tp, _Alloc>::size_type erase_if(forward_list<_Tp, _Alloc>& __cont, _Predicate __pred) diff --git a/libstdc++-v3/include/std/list b/libstdc++-v3/include/std/list index 5ea9a96..7b02e86 100644 --- a/libstdc++-v3/include/std/list +++ b/libstdc++-v3/include/std/list @@ -89,6 +89,9 @@ _GLIBCXX_END_NAMESPACE_VERSION namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION + +#define __cpp_lib_erase_if 201900L + template<typename _Tp, typename _Alloc, typename _Predicate> inline typename list<_Tp, _Alloc>::size_type erase_if(list<_Tp, _Alloc>& __cont, _Predicate __pred) diff --git a/libstdc++-v3/include/std/string b/libstdc++-v3/include/std/string index dc718b8..caa54c2 100644 --- a/libstdc++-v3/include/std/string +++ b/libstdc++-v3/include/std/string @@ -79,6 +79,9 @@ _GLIBCXX_END_NAMESPACE_VERSION namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION + +#define __cpp_lib_erase_if 201900L + template<typename _CharT, typename _Traits, typename _Alloc, typename _Predicate> inline typename basic_string<_CharT, _Traits, _Alloc>::size_type diff --git a/libstdc++-v3/include/std/vector b/libstdc++-v3/include/std/vector index 0594518..2c90765 100644 --- a/libstdc++-v3/include/std/vector +++ b/libstdc++-v3/include/std/vector @@ -97,6 +97,9 @@ _GLIBCXX_END_NAMESPACE_VERSION namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION + +#define __cpp_lib_erase_if 201900L + template<typename _Tp, typename _Alloc, typename _Predicate> inline typename vector<_Tp, _Alloc>::size_type erase_if(vector<_Tp, _Alloc>& __cont, _Predicate __pred) diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version index f090fba..e11ae3a 100644 --- a/libstdc++-v3/include/std/version +++ b/libstdc++-v3/include/std/version @@ -96,6 +96,7 @@ #define __cpp_lib_clamp 201603 #define __cpp_lib_constexpr_char_traits 201611 #define __cpp_lib_enable_shared_from_this 201603 +#define __cpp_lib_erase_if 201900L #define __cpp_lib_filesystem 201703 #define __cpp_lib_gcd 201606 #define __cpp_lib_gcd_lcm 201606 diff --git a/libstdc++-v3/testsuite/23_containers/deque/erasure.cc b/libstdc++-v3/testsuite/23_containers/deque/erasure.cc index 4fe6f1d..39ea6dee 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/erasure.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/erasure.cc @@ -21,6 +21,12 @@ #include <deque> #include <testsuite_hooks.h> +#ifndef __cpp_lib_erase_if +# error "Feature-test macro for erase_if missing" +#elif __cpp_lib_erase_if < 201811 +# error "Feature-test macro for erase_if has wrong value" +#endif + void test01() { diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc b/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc index 3d5c9fd..724a720 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc @@ -21,6 +21,12 @@ #include <forward_list> #include <testsuite_hooks.h> +#ifndef __cpp_lib_erase_if +# error "Feature-test macro for erase_if missing" +#elif __cpp_lib_erase_if < 201811 +# error "Feature-test macro for erase_if has wrong value" +#endif + void test01() { diff --git a/libstdc++-v3/testsuite/23_containers/list/erasure.cc b/libstdc++-v3/testsuite/23_containers/list/erasure.cc index 87dfee9..a9927b4 100644 --- a/libstdc++-v3/testsuite/23_containers/list/erasure.cc +++ b/libstdc++-v3/testsuite/23_containers/list/erasure.cc @@ -21,6 +21,12 @@ #include <list> #include <testsuite_hooks.h> +#ifndef __cpp_lib_erase_if +# error "Feature-test macro for erase_if missing" +#elif __cpp_lib_erase_if < 201811 +# error "Feature-test macro for erase_if has wrong value" +#endif + void test01() { diff --git a/libstdc++-v3/testsuite/23_containers/map/erasure.cc b/libstdc++-v3/testsuite/23_containers/map/erasure.cc index a19e805..d8a5716 100644 --- a/libstdc++-v3/testsuite/23_containers/map/erasure.cc +++ b/libstdc++-v3/testsuite/23_containers/map/erasure.cc @@ -21,6 +21,12 @@ #include <map> #include <testsuite_hooks.h> +#ifndef __cpp_lib_erase_if +# error "Feature-test macro for erase_if missing" +#elif __cpp_lib_erase_if < 201811 +# error "Feature-test macro for erase_if has wrong value" +#endif + auto is_odd_pair = [](const std::pair<const int, std::string>& p) { return p.first % 2 != 0; diff --git a/libstdc++-v3/testsuite/23_containers/set/erasure.cc b/libstdc++-v3/testsuite/23_containers/set/erasure.cc index 0e178e9..2412d69 100644 --- a/libstdc++-v3/testsuite/23_containers/set/erasure.cc +++ b/libstdc++-v3/testsuite/23_containers/set/erasure.cc @@ -21,6 +21,12 @@ #include <set> #include <testsuite_hooks.h> +#ifndef __cpp_lib_erase_if +# error "Feature-test macro for erase_if missing" +#elif __cpp_lib_erase_if < 201811 +# error "Feature-test macro for erase_if has wrong value" +#endif + auto is_odd = [](const int i) { return i % 2 != 0; }; void diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc index f652dd2..35190a0 100644 --- a/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc @@ -21,6 +21,12 @@ #include <unordered_map> #include <testsuite_hooks.h> +#ifndef __cpp_lib_erase_if +# error "Feature-test macro for erase_if missing" +#elif __cpp_lib_erase_if < 201811 +# error "Feature-test macro for erase_if has wrong value" +#endif + auto is_odd_pair = [](const std::pair<const int, std::string>& p) { return p.first % 2 != 0; diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc index 3f59bfd..5ffabf5 100644 --- a/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc @@ -21,6 +21,12 @@ #include <unordered_set> #include <testsuite_hooks.h> +#ifndef __cpp_lib_erase_if +# error "Feature-test macro for erase_if missing" +#elif __cpp_lib_erase_if < 201811 +# error "Feature-test macro for erase_if has wrong value" +#endif + void test01() { diff --git a/libstdc++-v3/testsuite/23_containers/vector/erasure.cc b/libstdc++-v3/testsuite/23_containers/vector/erasure.cc index 9868252..0a23c3f 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/erasure.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/erasure.cc @@ -21,6 +21,12 @@ #include <vector> #include <testsuite_hooks.h> +#ifndef __cpp_lib_erase_if +# error "Feature-test macro for erase_if missing" +#elif __cpp_lib_erase_if < 201811 +# error "Feature-test macro for erase_if has wrong value" +#endif + void test01() { |