[gcc(refs/vendors/ibm/heads/gcc-9-branch)] libstdc++: Update __cpp_lib_erase_if macro (P1115R3)

Peter Bergner bergner@gcc.gnu.org
Thu Apr 23 21:05:48 GMT 2020


https://gcc.gnu.org/g:6153cc3b756fbcb347176bb93b5a03433faa7ff8

commit 6153cc3b756fbcb347176bb93b5a03433faa7ff8
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Wed Apr 22 07:21:01 2020 +0100

    libstdc++: Update __cpp_lib_erase_if macro (P1115R3)
    
    Now that this feature has been approved for C++20 we can define the
    macro to the official value.
    
    Backport from mainline
    2020-02-15  Jonathan Wakely  <jwakely@redhat.com>
    
            * include/bits/erase_if.h (__cpp_lib_erase_if): Define to 202002L.
            * include/std/deque (__cpp_lib_erase_if): Likewise.
            * include/std/forward_list (__cpp_lib_erase_if): Likewise.
            * include/std/list (__cpp_lib_erase_if): Likewise.
            * include/std/string (__cpp_lib_erase_if): Likewise.
            * include/std/vector (__cpp_lib_erase_if): Likewise.
            * include/std/version (__cpp_lib_erase_if): Likewise.
            * testsuite/21_strings/basic_string/erasure.cc: Test for new value.
            * 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.

Diff:
---
 libstdc++-v3/ChangeLog                             | 22 ++++++++++++++++++++++
 libstdc++-v3/include/bits/erase_if.h               |  2 +-
 libstdc++-v3/include/std/deque                     |  2 +-
 libstdc++-v3/include/std/forward_list              |  2 +-
 libstdc++-v3/include/std/list                      |  2 +-
 libstdc++-v3/include/std/string                    |  2 +-
 libstdc++-v3/include/std/vector                    |  2 +-
 libstdc++-v3/include/std/version                   |  2 +-
 .../testsuite/21_strings/basic_string/erasure.cc   |  6 ++++++
 .../testsuite/23_containers/deque/erasure.cc       |  6 +++---
 .../23_containers/forward_list/erasure.cc          |  6 +++---
 .../testsuite/23_containers/list/erasure.cc        |  6 +++---
 .../testsuite/23_containers/map/erasure.cc         |  6 +++---
 .../testsuite/23_containers/set/erasure.cc         |  6 +++---
 .../23_containers/unordered_map/erasure.cc         |  6 +++---
 .../23_containers/unordered_set/erasure.cc         |  6 +++---
 .../testsuite/23_containers/vector/erasure.cc      |  6 +++---
 17 files changed, 59 insertions(+), 31 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 59bc2feed86..4b5abe18b8d 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,25 @@
+2020-04-22  Jonathan Wakely  <jwakely@redhat.com>
+
+	Backport from mainline
+	2020-02-15  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/erase_if.h (__cpp_lib_erase_if): Define to 202002L.
+	* include/std/deque (__cpp_lib_erase_if): Likewise.
+	* include/std/forward_list (__cpp_lib_erase_if): Likewise.
+	* include/std/list (__cpp_lib_erase_if): Likewise.
+	* include/std/string (__cpp_lib_erase_if): Likewise.
+	* include/std/vector (__cpp_lib_erase_if): Likewise.
+	* include/std/version (__cpp_lib_erase_if): Likewise.
+	* testsuite/21_strings/basic_string/erasure.cc: Test for new value.
+	* 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.
+
 2020-04-21  Jonathan Wakely  <jwakely@redhat.com>
 
 	* doc/xml/manual/status_cxx2017.xml: Fix name of feature test macro.
diff --git a/libstdc++-v3/include/bits/erase_if.h b/libstdc++-v3/include/bits/erase_if.h
index 4641dbebd85..523bbecfab3 100644
--- a/libstdc++-v3/include/bits/erase_if.h
+++ b/libstdc++-v3/include/bits/erase_if.h
@@ -39,7 +39,7 @@ namespace std
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
 #if __cplusplus > 201703L
-# define __cpp_lib_erase_if 201900L
+# define __cpp_lib_erase_if 202002L
 #endif
 
   namespace __detail
diff --git a/libstdc++-v3/include/std/deque b/libstdc++-v3/include/std/deque
index ed4927e13b7..b940dacb848 100644
--- a/libstdc++-v3/include/std/deque
+++ b/libstdc++-v3/include/std/deque
@@ -95,7 +95,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
-#define __cpp_lib_erase_if 201900L
+#define __cpp_lib_erase_if 202002L
 
   template<typename _Tp, typename _Alloc, typename _Predicate>
     inline typename deque<_Tp, _Alloc>::size_type
diff --git a/libstdc++-v3/include/std/forward_list b/libstdc++-v3/include/std/forward_list
index 9d6cc40593b..4b319f93a61 100644
--- a/libstdc++-v3/include/std/forward_list
+++ b/libstdc++-v3/include/std/forward_list
@@ -66,7 +66,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
-#define __cpp_lib_erase_if 201900L
+#define __cpp_lib_erase_if 202002L
 
   template<typename _Tp, typename _Alloc, typename _Predicate>
     inline typename forward_list<_Tp, _Alloc>::size_type 
diff --git a/libstdc++-v3/include/std/list b/libstdc++-v3/include/std/list
index 8d6ac198c9a..6fb5ea8dcc4 100644
--- a/libstdc++-v3/include/std/list
+++ b/libstdc++-v3/include/std/list
@@ -90,7 +90,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
-#define __cpp_lib_erase_if 201900L
+#define __cpp_lib_erase_if 202002L
 
   template<typename _Tp, typename _Alloc, typename _Predicate>
     inline typename list<_Tp, _Alloc>::size_type
diff --git a/libstdc++-v3/include/std/string b/libstdc++-v3/include/std/string
index 6ccc06f337a..506cb78313e 100644
--- a/libstdc++-v3/include/std/string
+++ b/libstdc++-v3/include/std/string
@@ -118,7 +118,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
-#define __cpp_lib_erase_if 201900L
+#define __cpp_lib_erase_if 202002L
 
   template<typename _CharT, typename _Traits, typename _Alloc,
 	   typename _Predicate>
diff --git a/libstdc++-v3/include/std/vector b/libstdc++-v3/include/std/vector
index e5e13ab3ef7..1c1e2fd60e7 100644
--- a/libstdc++-v3/include/std/vector
+++ b/libstdc++-v3/include/std/vector
@@ -105,7 +105,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
-#define __cpp_lib_erase_if 201900L
+#define __cpp_lib_erase_if 202002L
 
   template<typename _Tp, typename _Alloc, typename _Predicate>
     inline typename vector<_Tp, _Alloc>::size_type
diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version
index 3c288301952..9dc7cbbb184 100644
--- a/libstdc++-v3/include/std/version
+++ b/libstdc++-v3/include/std/version
@@ -155,7 +155,7 @@
 # define __cpp_lib_destroying_delete 201806L
 #endif
 #define __cpp_lib_endian 201907L
-#define __cpp_lib_erase_if 201900L
+#define __cpp_lib_erase_if 202002L
 #define __cpp_lib_interpolate 201902L
 #ifdef _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED
 # define __cpp_lib_is_constant_evaluated 201811L
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/erasure.cc b/libstdc++-v3/testsuite/21_strings/basic_string/erasure.cc
index 873dd0cbf0f..a00faf94180 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/erasure.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/erasure.cc
@@ -21,6 +21,12 @@
 #include <string>
 #include <testsuite_hooks.h>
 
+#ifndef __cpp_lib_erase_if
+# error "Feature-test macro for erase_if missing in <string>"
+#elif __cpp_lib_erase_if < 202002
+# error "Feature-test macro for erase_if has wrong value in <string>"
+#endif
+
 void
 test01()
 {
diff --git a/libstdc++-v3/testsuite/23_containers/deque/erasure.cc b/libstdc++-v3/testsuite/23_containers/deque/erasure.cc
index 39ea6deecc2..da5330b300a 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/erasure.cc
@@ -22,9 +22,9 @@
 #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"
+# error "Feature-test macro for erase_if missing in <deque>"
+#elif __cpp_lib_erase_if < 202002
+# error "Feature-test macro for erase_if has wrong value in <deque>"
 #endif
 
 void
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc b/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
index 724a720f654..50b35719471 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
@@ -22,9 +22,9 @@
 #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"
+# error "Feature-test macro for erase_if missing in <forward_list>"
+#elif __cpp_lib_erase_if < 202002
+# error "Feature-test macro for erase_if has wrong value in <forward_list>"
 #endif
 
 void
diff --git a/libstdc++-v3/testsuite/23_containers/list/erasure.cc b/libstdc++-v3/testsuite/23_containers/list/erasure.cc
index a9927b484e1..ff849808fd9 100644
--- a/libstdc++-v3/testsuite/23_containers/list/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/erasure.cc
@@ -22,9 +22,9 @@
 #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"
+# error "Feature-test macro for erase_if missing in <list>"
+#elif __cpp_lib_erase_if < 202002
+# error "Feature-test macro for erase_if has wrong value in <list>"
 #endif
 
 void
diff --git a/libstdc++-v3/testsuite/23_containers/map/erasure.cc b/libstdc++-v3/testsuite/23_containers/map/erasure.cc
index d8a57160865..8e5955ffbd1 100644
--- a/libstdc++-v3/testsuite/23_containers/map/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/erasure.cc
@@ -22,9 +22,9 @@
 #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"
+# error "Feature-test macro for erase_if missing in <map>"
+#elif __cpp_lib_erase_if < 202002
+# error "Feature-test macro for erase_if has wrong value in <map>"
 #endif
 
 auto is_odd_pair = [](const std::pair<const int, std::string>& p)
diff --git a/libstdc++-v3/testsuite/23_containers/set/erasure.cc b/libstdc++-v3/testsuite/23_containers/set/erasure.cc
index 2412d69f75c..494d6315ea7 100644
--- a/libstdc++-v3/testsuite/23_containers/set/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/erasure.cc
@@ -22,9 +22,9 @@
 #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"
+# error "Feature-test macro for erase_if missing in <set>"
+#elif __cpp_lib_erase_if < 202002
+# error "Feature-test macro for erase_if has wrong value in <set>"
 #endif
 
 auto is_odd = [](const int i) { return i % 2 != 0; };
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc
index 35190a0d19e..1bfc53201dd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc
@@ -22,9 +22,9 @@
 #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"
+# error "Feature-test macro for erase_if missing in <unordered_map>"
+#elif __cpp_lib_erase_if < 202002
+# error "Feature-test macro for erase_if has wrong value in <unordered_map>"
 #endif
 
 auto is_odd_pair = [](const std::pair<const int, std::string>& p)
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc
index 5ffabf538bd..97aa24c4834 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc
@@ -22,9 +22,9 @@
 #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"
+# error "Feature-test macro for erase_if missing in <unordered_set>"
+#elif __cpp_lib_erase_if < 202002
+# error "Feature-test macro for erase_if has wrong value in <unordered_set>"
 #endif
 
 void
diff --git a/libstdc++-v3/testsuite/23_containers/vector/erasure.cc b/libstdc++-v3/testsuite/23_containers/vector/erasure.cc
index 0a23c3f0d12..ec479053cf1 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/erasure.cc
@@ -22,9 +22,9 @@
 #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"
+# error "Feature-test macro for erase_if missing in <vector>"
+#elif __cpp_lib_erase_if < 202002
+# error "Feature-test macro for erase_if has wrong value in <vector>"
 #endif
 
 void


More information about the Libstdc++-cvs mailing list