aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog17
-rw-r--r--libstdc++-v3/include/bits/erase_if.h2
-rw-r--r--libstdc++-v3/include/std/deque3
-rw-r--r--libstdc++-v3/include/std/forward_list3
-rw-r--r--libstdc++-v3/include/std/list3
-rw-r--r--libstdc++-v3/include/std/string3
-rw-r--r--libstdc++-v3/include/std/vector3
-rw-r--r--libstdc++-v3/include/std/version1
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/erasure.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/erasure.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/erasure.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/erasure.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/erasure.cc6
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()
{