Implement C++20 p1424 - 'constexpr' feature macro concerns.
diff mbox series

Message ID a5e8d827-071b-12fc-9272-48a2b08737a4@verizon.net
State New
Headers show
Series
  • Implement C++20 p1424 - 'constexpr' feature macro concerns.
Related show

Commit Message

Christian Biesinger via gcc-patches Aug. 17, 2019, 2:39 a.m. UTC
The latest draft and I guess the above paper changed the macro names for 
the C++20 constexpr lib featues.

__cpp_lib_constexpr_algorithms ->__cpp_lib_constexpr.

This patch changes the name but not the date because I still have some 
work to do before I can ship the "miscellaneous" constexpr material.

I would like to slot this patch in before that chunk 3 of the constexpr 
lib patch set rather than wait because it simplifies the testing of 
macros somewhat.

I would also like to kill a non-standard macro pretty quickly.

It is a trivial patch really and it built and tested cleanly on 
x86_64-linux.

Ok for mainline?

Ed
2019-08-19  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement C++20 p1424 - 'constexpr' feature macro concerns.
	* include/std/version (__cpp_lib_constexpr_algorithms): Change macro
	name to __cpp_lib_constexpr.
	* include/bits/algorithmfwd.h: Ditto.
	* include/std/utility: Ditto.
	* testsuite/25_algorithms/constexpr_macro.cc: Ditto.
	* testsuite/25_algorithms/cpp_lib_constexpr.cc: New check for
	__cpp_lib_constexpr macro in <algorith>.
	* testsuite/20_util/exchange/constexpr.cc: Add check for
	__cpp_lib_constexpr macro in <utility>.
	* testsuite/25_algorithms/adjacent_find/constexpr.cc: Remove check for
	__cpp_lib_constexpr_algorithms (now __cpp_lib_constexpr) in <algorith>.
	* testsuite/25_algorithms/all_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/any_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/binary_search/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy_backward/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/count/constexpr.cc: Ditto.
	* testsuite/25_algorithms/count_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/equal/constexpr.cc: Ditto.
	* testsuite/25_algorithms/equal_range/constexpr.cc: Ditto.
	* testsuite/25_algorithms/fill/constexpr.cc: Ditto.
	* testsuite/25_algorithms/fill_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_end/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_first_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_if_not/constexpr.cc: Ditto.
	* testsuite/25_algorithms/for_each/constexpr.cc: Ditto.
	* testsuite/25_algorithms/generate/constexpr.cc: Ditto.
	* testsuite/25_algorithms/generate_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_heap/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_heap_until/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_partitioned/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_permutation/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_sorted/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_sorted_until/constexpr.cc: Ditto.
	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc: Ditto.
	* testsuite/25_algorithms/lower_bound/constexpr.cc: Ditto.
	* testsuite/25_algorithms/merge/constexpr.cc: Ditto.
	* testsuite/25_algorithms/mismatch/constexpr.cc: Ditto.
	* testsuite/25_algorithms/none_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/partition_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/partition_point/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove_copy_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/replace_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/replace_copy_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/replace_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/reverse_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/rotate_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/search/constexpr.cc: Ditto.
	* testsuite/25_algorithms/search_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_difference/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_intersection/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_union/constexpr.cc: Ditto.
	* testsuite/25_algorithms/transform/constexpr.cc: Ditto.
	* testsuite/25_algorithms/unique/constexpr.cc: Ditto.
	* testsuite/25_algorithms/unique_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/upper_bound/constexpr.cc: Ditto.

Comments

Jonathan Wakely Aug. 20, 2019, 10:14 p.m. UTC | #1
On 16/08/19 22:39 -0400, Ed Smith-Rowland via libstdc++ wrote:
>The latest draft and I guess the above paper changed the macro names 
>for the C++20 constexpr lib featues.
>
>__cpp_lib_constexpr_algorithms ->__cpp_lib_constexpr.

The __cpp_lib_constexpr macro is (now?) for a different feature.

The proposed resolution for https://cplusplus.github.io/LWG/issue3256
is to keep the __cpp_lib_constexpr_algorithms name to indicate support
for what is currently described by __cpp_lib_constexpr_swap_algorithms
(and see https://cplusplus.github.io/LWG/issue3257 for another issue
in this area).
Christian Biesinger via gcc-patches Aug. 22, 2019, 3:36 a.m. UTC | #2
On 8/20/19 6:14 PM, Jonathan Wakely wrote:
> On 16/08/19 22:39 -0400, Ed Smith-Rowland via libstdc++ wrote:
>> The latest draft and I guess the above paper changed the macro names 
>> for the C++20 constexpr lib featues.
>>
>> __cpp_lib_constexpr_algorithms ->__cpp_lib_constexpr.
>
> The __cpp_lib_constexpr macro is (now?) for a different feature.
>
> The proposed resolution for https://cplusplus.github.io/LWG/issue3256
> is to keep the __cpp_lib_constexpr_algorithms name to indicate support
> for what is currently described by __cpp_lib_constexpr_swap_algorithms
> (and see https://cplusplus.github.io/LWG/issue3257 for another issue
> in this area)

I'm testing the attached.

I changed back to __cpp_lib_constexpr_algorithms from __cpp_lib_constexpr.

I dropped__cpp_lib_constexpr_swap_algorithms in favor of 
__cpp_lib_constexpr_algorithms.

I'm leaving __cpp_lib_constexpr alone.?? We don't test this anyway.?? It's 
sitting in <version>.

Is it possible that __cpp_lib_constexpr_char_traits also should be 
bumped from 201611 to 201806 because of P1032 section 10? Note that I'm 
not done with this but I'd like to get ahead of the macro issues.?? 
Presumably, __cpp_lib_constexpr_algorithms gets bumped.

Ed
2019-08-22  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement C++20 p1424 - 'constexpr' feature macro concerns,
	Issue 3256 - Feature testing macro for constexpr algorithms,
	and Issue 3257 - Missing feature testing macro update from P0858.
	* include/std/version (__cpp_lib_constexpr_algorithms): Bump value.
	* include/bits/algorithmfwd.h: Ditto.
	* include/std/utility: Ditto.
	* testsuite/25_algorithms/constexpr_macro.cc: Ditto.
	* testsuite/25_algorithms/cpp_lib_constexpr.cc: New check for
	__cpp_lib_constexpr macro in <algorith>.
	* testsuite/20_util/exchange/constexpr.cc: Add check for
	__cpp_lib_constexpr macro in <utility>.
	* testsuite/25_algorithms/adjacent_find/constexpr.cc: Remove check for
	__cpp_lib_constexpr_algorithms.
	* testsuite/25_algorithms/all_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/any_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/binary_search/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy_backward/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/count/constexpr.cc: Ditto.
	* testsuite/25_algorithms/count_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/equal/constexpr.cc: Ditto.
	* testsuite/25_algorithms/equal_range/constexpr.cc: Ditto.
	* testsuite/25_algorithms/fill/constexpr.cc: Ditto.
	* testsuite/25_algorithms/fill_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_end/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_first_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_if_not/constexpr.cc: Ditto.
	* testsuite/25_algorithms/for_each/constexpr.cc: Ditto.
	* testsuite/25_algorithms/generate/constexpr.cc: Ditto.
	* testsuite/25_algorithms/generate_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_heap/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_heap_until/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_partitioned/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_permutation/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_sorted/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_sorted_until/constexpr.cc: Ditto.
	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc: Ditto.
	* testsuite/25_algorithms/lower_bound/constexpr.cc: Ditto.
	* testsuite/25_algorithms/merge/constexpr.cc: Ditto.
	* testsuite/25_algorithms/mismatch/constexpr.cc: Ditto.
	* testsuite/25_algorithms/none_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/partition_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/partition_point/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove_copy_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/replace_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/replace_copy_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/replace_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/reverse_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/rotate_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/search/constexpr.cc: Ditto.
	* testsuite/25_algorithms/search_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_difference/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_intersection/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_union/constexpr.cc: Ditto.
	* testsuite/25_algorithms/transform/constexpr.cc: Ditto.
	* testsuite/25_algorithms/unique/constexpr.cc: Ditto.
	* testsuite/25_algorithms/unique_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/upper_bound/constexpr.cc: Ditto.
Index: include/bits/algorithmfwd.h
===================================================================
--- include/bits/algorithmfwd.h	(revision 274811)
+++ include/bits/algorithmfwd.h	(working copy)
@@ -192,8 +192,7 @@
   // adjacent_find
 
 #if __cplusplus > 201703L
-#  define __cpp_lib_constexpr_algorithms 201711L
-#  define __cpp_lib_constexpr_swap_algorithms 201806L
+#  define __cpp_lib_constexpr_algorithms 201806L
 #endif
 
 #if __cplusplus >= 201103L
Index: include/bits/stl_iterator.h
===================================================================
--- include/bits/stl_iterator.h	(revision 274811)
+++ include/bits/stl_iterator.h	(working copy)
@@ -70,7 +70,7 @@
 #endif
 
 #if __cplusplus > 201402L
-# define __cpp_lib_array_constexpr 201603
+# define __cpp_lib_array_constexpr 201803
 #endif
 
 namespace std _GLIBCXX_VISIBILITY(default)
Index: include/std/string_view
===================================================================
--- include/std/string_view	(revision 274811)
+++ include/std/string_view	(working copy)
@@ -47,7 +47,7 @@
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
-#define __cpp_lib_string_view 201603
+#define __cpp_lib_string_view 201803
 
   // Helper for basic_string and basic_string_view members.
   constexpr size_t
Index: include/std/utility
===================================================================
--- include/std/utility	(revision 274811)
+++ include/std/utility	(working copy)
@@ -281,7 +281,7 @@
 #define __cpp_lib_exchange_function 201304
 
 #if __cplusplus > 201703L
-#  define __cpp_lib_constexpr_algorithms 201711L
+#  define __cpp_lib_constexpr_algorithms 201806L
 #endif
 
   /// Assign @p __new_val to @p __obj and return its previous value.
Index: include/std/version
===================================================================
--- include/std/version	(revision 274811)
+++ include/std/version	(working copy)
@@ -90,7 +90,7 @@
 #define __cpp_lib_addressof_constexpr 201603
 #define __cpp_lib_any 201606L
 #define __cpp_lib_apply 201603
-#define __cpp_lib_array_constexpr 201603
+#define __cpp_lib_array_constexpr 201803
 #define __cpp_lib_as_const 201510
 #define __cpp_lib_atomic_is_always_lock_free 201603
 #define __cpp_lib_bool_constant 201505
@@ -138,7 +138,7 @@
 # define __cpp_lib_shared_mutex 201505
 #endif
 #define __cpp_lib_shared_ptr_weak_type 201606
-#define __cpp_lib_string_view 201603
+#define __cpp_lib_string_view 201803
 // #define __cpp_lib_to_chars 201611L
 #define __cpp_lib_type_trait_variable_templates 201510L
 #define __cpp_lib_uncaught_exceptions 201411L
@@ -153,8 +153,8 @@
 #define __cpp_lib_atomic_ref 201806L
 #define __cpp_lib_bind_front 201907L
 #define __cpp_lib_bounded_array_traits 201902L
-#define __cpp_lib_constexpr_algorithms 201711L
-#define __cpp_lib_constexpr_swap_algorithms 201806L
+#define __cpp_lib_constexpr 201711L
+#define __cpp_lib_constexpr_algorithms 201806L
 #if __cpp_impl_destroying_delete
 # define __cpp_lib_destroying_delete 201806L
 #endif
Index: testsuite/20_util/exchange/constexpr.cc
===================================================================
--- testsuite/20_util/exchange/constexpr.cc	(revision 274811)
+++ testsuite/20_util/exchange/constexpr.cc	(working copy)
@@ -20,6 +20,12 @@
 
 #include <utility>
 
+#ifndef __cpp_lib_constexpr_algorithms
+# error "Feature-test macro for constexpr algorithms missing"
+#elif __cpp_lib_constexpr_algorithms < 201806L
+# error "Feature-test macro for constexpr algorithms has wrong value"
+#endif
+
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/adjacent_find/constexpr.cc
===================================================================
--- testsuite/25_algorithms/adjacent_find/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/adjacent_find/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> car{{0, 1, 2, 3, 4, 5, 6, 6, 8, 9, 9, 11}};
 
 constexpr auto out0x = std::adjacent_find(car.begin(), car.end());
Index: testsuite/25_algorithms/all_of/constexpr.cc
===================================================================
--- testsuite/25_algorithms/all_of/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/all_of/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 6> cae{{0, 2, 4, 6, 8, 10}};
 
 constexpr auto out2 = std::all_of(cae.begin(), cae.end(),
Index: testsuite/25_algorithms/any_of/constexpr.cc
===================================================================
--- testsuite/25_algorithms/any_of/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/any_of/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/binary_search/constexpr.cc
===================================================================
--- testsuite/25_algorithms/binary_search/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/binary_search/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/constexpr_macro.cc
===================================================================
--- testsuite/25_algorithms/constexpr_macro.cc	(revision 274811)
+++ testsuite/25_algorithms/constexpr_macro.cc	(working copy)
@@ -22,6 +22,6 @@
 
 #ifndef __cpp_lib_constexpr_algorithms
 # error "Feature-test macro for constexpr algorithms missing in <version>"
-#elif __cpp_lib_constexpr_algorithms != 201711L
+#elif __cpp_lib_constexpr_algorithms < 201806L
 # error "Feature-test macro for constexpr algorithms has wrong value in <version>"
 #endif
Index: testsuite/25_algorithms/copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/copy/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/copy_backward/constexpr.cc
===================================================================
--- testsuite/25_algorithms/copy_backward/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/copy_backward/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/copy_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/copy_if/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/copy_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr bool
Index: testsuite/25_algorithms/copy_n/constexpr.cc
===================================================================
--- testsuite/25_algorithms/copy_n/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/copy_n/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr bool
Index: testsuite/25_algorithms/count/constexpr.cc
===================================================================
--- testsuite/25_algorithms/count/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/count/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/count_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/count_if/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/count_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr auto out9 = std::count_if(ca0.begin(), ca0.end(),
Index: testsuite/25_algorithms/cpp_lib_constexpr.cc
===================================================================
--- testsuite/25_algorithms/cpp_lib_constexpr.cc	(nonexistent)
+++ testsuite/25_algorithms/cpp_lib_constexpr.cc	(working copy)
@@ -0,0 +1,27 @@
+// Copyright (C) 2019 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++2a" }
+// { dg-do compile { target c++2a } }
+
+#include <algorithm>
+
+#ifndef __cpp_lib_constexpr_algorithms
+# error "Feature-test macro for constexpr algorithms missing"
+#elif __cpp_lib_constexpr_algorithms < 201806L
+# error "Feature-test macro for constexpr algorithms has wrong value"
+#endif
Index: testsuite/25_algorithms/equal/constexpr.cc
===================================================================
--- testsuite/25_algorithms/equal/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/equal/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/equal_range/constexpr.cc
===================================================================
--- testsuite/25_algorithms/equal_range/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/equal_range/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/fill/constexpr.cc
===================================================================
--- testsuite/25_algorithms/fill/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/fill/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/fill_n/constexpr.cc
===================================================================
--- testsuite/25_algorithms/fill_n/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/fill_n/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/find/constexpr.cc
===================================================================
--- testsuite/25_algorithms/find/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/find/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5,  6, 7, 8,  9, 10, 11}};
 
 constexpr auto oute = std::find(ca0.begin(), ca0.end(), 5);
Index: testsuite/25_algorithms/find_end/constexpr.cc
===================================================================
--- testsuite/25_algorithms/find_end/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/find_end/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/find_first_of/constexpr.cc
===================================================================
--- testsuite/25_algorithms/find_first_of/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/find_first_of/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6,  7,  8,  9, 10, 11}};
 constexpr std::array<int, 12> cas{{3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}};
 
Index: testsuite/25_algorithms/find_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/find_if/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/find_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/find_if_not/constexpr.cc
===================================================================
--- testsuite/25_algorithms/find_if_not/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/find_if_not/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr auto outk = std::find_if_not(ca0.begin(), ca0.end(),
Index: testsuite/25_algorithms/for_each/constexpr.cc
===================================================================
--- testsuite/25_algorithms/for_each/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/for_each/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr bool
Index: testsuite/25_algorithms/generate/constexpr.cc
===================================================================
--- testsuite/25_algorithms/generate/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/generate/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/generate_n/constexpr.cc
===================================================================
--- testsuite/25_algorithms/generate_n/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/generate_n/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/is_heap/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_heap/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/is_heap/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 // heap
 constexpr std::array<int, 23>
 ah{{22,
Index: testsuite/25_algorithms/is_heap_until/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_heap_until/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/is_heap_until/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 // heap
 constexpr std::array<int, 23>
 ahu{{22,
Index: testsuite/25_algorithms/is_partitioned/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_partitioned/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/is_partitioned/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/is_permutation/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_permutation/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/is_permutation/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/is_sorted/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_sorted/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/is_sorted/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr auto outv = std::is_sorted(ca0.begin(), ca0.end());
Index: testsuite/25_algorithms/is_sorted_until/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_sorted_until/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/is_sorted_until/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/lexicographical_compare/constexpr.cc
===================================================================
--- testsuite/25_algorithms/lexicographical_compare/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/lexicographical_compare/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/lower_bound/constexpr.cc
===================================================================
--- testsuite/25_algorithms/lower_bound/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/lower_bound/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/merge/constexpr.cc
===================================================================
--- testsuite/25_algorithms/merge/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/merge/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/mismatch/constexpr.cc
===================================================================
--- testsuite/25_algorithms/mismatch/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/mismatch/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/none_of/constexpr.cc
===================================================================
--- testsuite/25_algorithms/none_of/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/none_of/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/partition_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/partition_copy/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/partition_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/partition_point/constexpr.cc
===================================================================
--- testsuite/25_algorithms/partition_point/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/partition_point/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> caeo{{0, 2, 4, 6, 8, 10, 1, 3, 5, 7, 9, 11}};
 
 constexpr bool
Index: testsuite/25_algorithms/remove/constexpr.cc
===================================================================
--- testsuite/25_algorithms/remove/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/remove/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/remove_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/remove_copy/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/remove_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/remove_copy_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/remove_copy_if/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/remove_copy_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/remove_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/remove_if/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/remove_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/replace_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/replace_copy/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/replace_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8,  9, 10, 11}};
 
 constexpr bool
Index: testsuite/25_algorithms/replace_copy_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/replace_copy_if/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/replace_copy_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 constexpr bool
 test()
Index: testsuite/25_algorithms/replace_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/replace_if/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/replace_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/reverse_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/reverse_copy/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/reverse_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/rotate_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/rotate_copy/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/rotate_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/search/constexpr.cc
===================================================================
--- testsuite/25_algorithms/search/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/search/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/search_n/constexpr.cc
===================================================================
--- testsuite/25_algorithms/search_n/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/search_n/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> car{{0, 1, 2, 3, 4, 5, 6, 6, 8, 9, 9, 11}};
 
 constexpr auto outuu = std::search_n(car.begin(), car.end(), 2, 6);
Index: testsuite/25_algorithms/set_difference/constexpr.cc
===================================================================
--- testsuite/25_algorithms/set_difference/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/set_difference/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/set_intersection/constexpr.cc
===================================================================
--- testsuite/25_algorithms/set_intersection/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/set_intersection/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/set_symmetric_difference/constexpr.cc
===================================================================
--- testsuite/25_algorithms/set_symmetric_difference/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/set_symmetric_difference/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/set_union/constexpr.cc
===================================================================
--- testsuite/25_algorithms/set_union/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/set_union/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/transform/constexpr.cc
===================================================================
--- testsuite/25_algorithms/transform/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/transform/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 constexpr bool
 test()
Index: testsuite/25_algorithms/unique/constexpr.cc
===================================================================
--- testsuite/25_algorithms/unique/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/unique/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/unique_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/unique_copy/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/unique_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/upper_bound/constexpr.cc
===================================================================
--- testsuite/25_algorithms/upper_bound/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/upper_bound/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/pop_heap/constexpr.cc
===================================================================
--- testsuite/25_algorithms/pop_heap/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/pop_heap/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/swap_ranges/constexpr.cc
===================================================================
--- testsuite/25_algorithms/swap_ranges/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/swap_ranges/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/partial_sort_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/partial_sort_copy/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/partial_sort_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/sort_heap/constexpr.cc
===================================================================
--- testsuite/25_algorithms/sort_heap/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/sort_heap/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/partition/constexpr.cc
===================================================================
--- testsuite/25_algorithms/partition/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/partition/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/prev_permutation/constexpr.cc
===================================================================
--- testsuite/25_algorithms/prev_permutation/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/prev_permutation/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/next_permutation/constexpr.cc
===================================================================
--- testsuite/25_algorithms/next_permutation/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/next_permutation/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/iter_swap/constexpr.cc
===================================================================
--- testsuite/25_algorithms/iter_swap/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/iter_swap/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/reverse/constexpr.cc
===================================================================
--- testsuite/25_algorithms/reverse/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/reverse/constexpr.cc	(working copy)
@@ -20,12 +20,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/swap/constexpr.cc
===================================================================
--- testsuite/25_algorithms/swap/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/swap/constexpr.cc	(working copy)
@@ -20,12 +20,6 @@
 
 #include <algorithm>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/make_heap/constexpr.cc
===================================================================
--- testsuite/25_algorithms/make_heap/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/make_heap/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/partial_sort/constexpr.cc
===================================================================
--- testsuite/25_algorithms/partial_sort/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/partial_sort/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/push_heap/constexpr.cc
===================================================================
--- testsuite/25_algorithms/push_heap/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/push_heap/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/rotate/constexpr.cc
===================================================================
--- testsuite/25_algorithms/rotate/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/rotate/constexpr.cc	(working copy)
@@ -20,12 +20,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/nth_element/constexpr.cc
===================================================================
--- testsuite/25_algorithms/nth_element/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/nth_element/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/sort/constexpr.cc
===================================================================
--- testsuite/25_algorithms/sort/constexpr.cc	(revision 274811)
+++ testsuite/25_algorithms/sort/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_swap_algorithms
-# error "Feature-test macro for constexpr swap algorithms missing"
-#elif __cpp_lib_constexpr_swap_algorithms < 201806L
-# error "Feature-test macro for constexpr swap algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Jonathan Wakely Sept. 9, 2019, 7:51 p.m. UTC | #3
On 21/08/19 23:36 -0400, Ed Smith-Rowland via libstdc++ wrote:
>On 8/20/19 6:14 PM, Jonathan Wakely wrote:
>>On 16/08/19 22:39 -0400, Ed Smith-Rowland via libstdc++ wrote:
>>>The latest draft and I guess the above paper changed the macro 
>>>names for the C++20 constexpr lib featues.
>>>
>>>__cpp_lib_constexpr_algorithms ->__cpp_lib_constexpr.
>>
>>The __cpp_lib_constexpr macro is (now?) for a different feature.
>>
>>The proposed resolution for https://cplusplus.github.io/LWG/issue3256
>>is to keep the __cpp_lib_constexpr_algorithms name to indicate support
>>for what is currently described by __cpp_lib_constexpr_swap_algorithms
>>(and see https://cplusplus.github.io/LWG/issue3257 for another issue
>>in this area)
>
>I'm testing the attached.
>
>I changed back to __cpp_lib_constexpr_algorithms from __cpp_lib_constexpr.
>
>I dropped__cpp_lib_constexpr_swap_algorithms in favor of 
>__cpp_lib_constexpr_algorithms.
>
>I'm leaving __cpp_lib_constexpr alone.?? We don't test this anyway.?? 
>It's sitting in <version>.
>
>Is it possible that __cpp_lib_constexpr_char_traits also should be 
>bumped from 201611 to 201806 because of P1032 section 10? Note that 
>I'm not done with this but I'd like to get ahead of the macro 
>issues.?? Presumably, __cpp_lib_constexpr_algorithms gets bumped.

Looks good, thanks.

OK for trunk.

Patch
diff mbox series

Index: include/bits/algorithmfwd.h
===================================================================
--- include/bits/algorithmfwd.h	(revision 274488)
+++ include/bits/algorithmfwd.h	(working copy)
@@ -192,7 +192,7 @@ 
   // adjacent_find
 
 #if __cplusplus > 201703L
-#  define __cpp_lib_constexpr_algorithms 201711L
+#  define __cpp_lib_constexpr 201711L
 #  define __cpp_lib_constexpr_swap_algorithms 201806L
 #endif
 
Index: include/std/utility
===================================================================
--- include/std/utility	(revision 274488)
+++ include/std/utility	(working copy)
@@ -281,7 +281,7 @@ 
 #define __cpp_lib_exchange_function 201304
 
 #if __cplusplus > 201703L
-#  define __cpp_lib_constexpr_algorithms 201711L
+#  define __cpp_lib_constexpr 201711L
 #endif
 
   /// Assign @p __new_val to @p __obj and return its previous value.
Index: include/std/version
===================================================================
--- include/std/version	(revision 274488)
+++ include/std/version	(working copy)
@@ -153,7 +153,7 @@ 
 #define __cpp_lib_atomic_ref 201806L
 #define __cpp_lib_bind_front 201907L
 #define __cpp_lib_bounded_array_traits 201902L
-#define __cpp_lib_constexpr_algorithms 201711L
+#define __cpp_lib_constexpr 201711L
 #define __cpp_lib_constexpr_swap_algorithms 201806L
 #if __cpp_impl_destroying_delete
 # define __cpp_lib_destroying_delete 201806L
Index: testsuite/20_util/exchange/constexpr.cc
===================================================================
--- testsuite/20_util/exchange/constexpr.cc	(revision 274488)
+++ testsuite/20_util/exchange/constexpr.cc	(working copy)
@@ -20,6 +20,12 @@ 
 
 #include <utility>
 
+#ifndef __cpp_lib_constexpr
+# error "Feature-test macro for constexpr algorithms missing"
+#elif __cpp_lib_constexpr < 201711L
+# error "Feature-test macro for constexpr algorithms has wrong value"
+#endif
+
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/adjacent_find/constexpr.cc
===================================================================
--- testsuite/25_algorithms/adjacent_find/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/adjacent_find/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> car{{0, 1, 2, 3, 4, 5, 6, 6, 8, 9, 9, 11}};
 
 constexpr auto out0x = std::adjacent_find(car.begin(), car.end());
Index: testsuite/25_algorithms/all_of/constexpr.cc
===================================================================
--- testsuite/25_algorithms/all_of/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/all_of/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 6> cae{{0, 2, 4, 6, 8, 10}};
 
 constexpr auto out2 = std::all_of(cae.begin(), cae.end(),
Index: testsuite/25_algorithms/any_of/constexpr.cc
===================================================================
--- testsuite/25_algorithms/any_of/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/any_of/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/binary_search/constexpr.cc
===================================================================
--- testsuite/25_algorithms/binary_search/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/binary_search/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/constexpr_macro.cc
===================================================================
--- testsuite/25_algorithms/constexpr_macro.cc	(revision 274488)
+++ testsuite/25_algorithms/constexpr_macro.cc	(working copy)
@@ -20,8 +20,8 @@ 
 
 #include <version>
 
-#ifndef __cpp_lib_constexpr_algorithms
+#ifndef __cpp_lib_constexpr
 # error "Feature-test macro for constexpr algorithms missing in <version>"
-#elif __cpp_lib_constexpr_algorithms != 201711L
+#elif __cpp_lib_constexpr != 201711L
 # error "Feature-test macro for constexpr algorithms has wrong value in <version>"
 #endif
Index: testsuite/25_algorithms/copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/copy/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/copy_backward/constexpr.cc
===================================================================
--- testsuite/25_algorithms/copy_backward/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/copy_backward/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/copy_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/copy_if/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/copy_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr bool
Index: testsuite/25_algorithms/copy_n/constexpr.cc
===================================================================
--- testsuite/25_algorithms/copy_n/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/copy_n/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr bool
Index: testsuite/25_algorithms/count/constexpr.cc
===================================================================
--- testsuite/25_algorithms/count/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/count/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/count_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/count_if/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/count_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr auto out9 = std::count_if(ca0.begin(), ca0.end(),
Index: testsuite/25_algorithms/cpp_lib_constexpr.cc
===================================================================
--- testsuite/25_algorithms/cpp_lib_constexpr.cc	(nonexistent)
+++ testsuite/25_algorithms/cpp_lib_constexpr.cc	(working copy)
@@ -0,0 +1,27 @@ 
+// Copyright (C) 2019 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++2a" }
+// { dg-do compile { target c++2a } }
+
+#include <algorithm>
+
+#ifndef __cpp_lib_constexpr
+# error "Feature-test macro for constexpr algorithms missing"
+#elif __cpp_lib_constexpr < 201711L
+# error "Feature-test macro for constexpr algorithms has wrong value"
+#endif
Index: testsuite/25_algorithms/equal/constexpr.cc
===================================================================
--- testsuite/25_algorithms/equal/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/equal/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/equal_range/constexpr.cc
===================================================================
--- testsuite/25_algorithms/equal_range/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/equal_range/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/fill/constexpr.cc
===================================================================
--- testsuite/25_algorithms/fill/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/fill/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/fill_n/constexpr.cc
===================================================================
--- testsuite/25_algorithms/fill_n/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/fill_n/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/find/constexpr.cc
===================================================================
--- testsuite/25_algorithms/find/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/find/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5,  6, 7, 8,  9, 10, 11}};
 
 constexpr auto oute = std::find(ca0.begin(), ca0.end(), 5);
Index: testsuite/25_algorithms/find_end/constexpr.cc
===================================================================
--- testsuite/25_algorithms/find_end/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/find_end/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/find_first_of/constexpr.cc
===================================================================
--- testsuite/25_algorithms/find_first_of/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/find_first_of/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6,  7,  8,  9, 10, 11}};
 constexpr std::array<int, 12> cas{{3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}};
 
Index: testsuite/25_algorithms/find_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/find_if/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/find_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/find_if_not/constexpr.cc
===================================================================
--- testsuite/25_algorithms/find_if_not/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/find_if_not/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr auto outk = std::find_if_not(ca0.begin(), ca0.end(),
Index: testsuite/25_algorithms/for_each/constexpr.cc
===================================================================
--- testsuite/25_algorithms/for_each/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/for_each/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr bool
Index: testsuite/25_algorithms/generate/constexpr.cc
===================================================================
--- testsuite/25_algorithms/generate/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/generate/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/generate_n/constexpr.cc
===================================================================
--- testsuite/25_algorithms/generate_n/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/generate_n/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/is_heap/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_heap/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/is_heap/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 // heap
 constexpr std::array<int, 23>
 ah{{22,
Index: testsuite/25_algorithms/is_heap_until/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_heap_until/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/is_heap_until/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 // heap
 constexpr std::array<int, 23>
 ahu{{22,
Index: testsuite/25_algorithms/is_partitioned/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_partitioned/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/is_partitioned/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/is_permutation/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_permutation/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/is_permutation/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/is_sorted/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_sorted/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/is_sorted/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 
 constexpr auto outv = std::is_sorted(ca0.begin(), ca0.end());
Index: testsuite/25_algorithms/is_sorted_until/constexpr.cc
===================================================================
--- testsuite/25_algorithms/is_sorted_until/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/is_sorted_until/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/lexicographical_compare/constexpr.cc
===================================================================
--- testsuite/25_algorithms/lexicographical_compare/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/lexicographical_compare/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/lower_bound/constexpr.cc
===================================================================
--- testsuite/25_algorithms/lower_bound/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/lower_bound/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/merge/constexpr.cc
===================================================================
--- testsuite/25_algorithms/merge/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/merge/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/mismatch/constexpr.cc
===================================================================
--- testsuite/25_algorithms/mismatch/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/mismatch/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/none_of/constexpr.cc
===================================================================
--- testsuite/25_algorithms/none_of/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/none_of/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/partition_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/partition_copy/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/partition_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/partition_point/constexpr.cc
===================================================================
--- testsuite/25_algorithms/partition_point/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/partition_point/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> caeo{{0, 2, 4, 6, 8, 10, 1, 3, 5, 7, 9, 11}};
 
 constexpr bool
Index: testsuite/25_algorithms/remove/constexpr.cc
===================================================================
--- testsuite/25_algorithms/remove/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/remove/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/remove_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/remove_copy/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/remove_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/remove_copy_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/remove_copy_if/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/remove_copy_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/remove_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/remove_if/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/remove_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/replace_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/replace_copy/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/replace_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8,  9, 10, 11}};
 
 constexpr bool
Index: testsuite/25_algorithms/replace_copy_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/replace_copy_if/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/replace_copy_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 constexpr bool
 test()
Index: testsuite/25_algorithms/replace_if/constexpr.cc
===================================================================
--- testsuite/25_algorithms/replace_if/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/replace_if/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/reverse_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/reverse_copy/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/reverse_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/rotate_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/rotate_copy/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/rotate_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/search/constexpr.cc
===================================================================
--- testsuite/25_algorithms/search/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/search/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/search_n/constexpr.cc
===================================================================
--- testsuite/25_algorithms/search_n/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/search_n/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> car{{0, 1, 2, 3, 4, 5, 6, 6, 8, 9, 9, 11}};
 
 constexpr auto outuu = std::search_n(car.begin(), car.end(), 2, 6);
Index: testsuite/25_algorithms/set_difference/constexpr.cc
===================================================================
--- testsuite/25_algorithms/set_difference/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/set_difference/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/set_intersection/constexpr.cc
===================================================================
--- testsuite/25_algorithms/set_intersection/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/set_intersection/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/set_symmetric_difference/constexpr.cc
===================================================================
--- testsuite/25_algorithms/set_symmetric_difference/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/set_symmetric_difference/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/set_union/constexpr.cc
===================================================================
--- testsuite/25_algorithms/set_union/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/set_union/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/transform/constexpr.cc
===================================================================
--- testsuite/25_algorithms/transform/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/transform/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr std::array<int, 12> ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}};
 constexpr bool
 test()
Index: testsuite/25_algorithms/unique/constexpr.cc
===================================================================
--- testsuite/25_algorithms/unique/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/unique/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/unique_copy/constexpr.cc
===================================================================
--- testsuite/25_algorithms/unique_copy/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/unique_copy/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {
Index: testsuite/25_algorithms/upper_bound/constexpr.cc
===================================================================
--- testsuite/25_algorithms/upper_bound/constexpr.cc	(revision 274488)
+++ testsuite/25_algorithms/upper_bound/constexpr.cc	(working copy)
@@ -21,12 +21,6 @@ 
 #include <algorithm>
 #include <array>
 
-#ifndef __cpp_lib_constexpr_algorithms
-# error "Feature-test macro for constexpr algorithms missing"
-#elif __cpp_lib_constexpr_algorithms < 201711L
-# error "Feature-test macro for constexpr algorithms has wrong value"
-#endif
-
 constexpr bool
 test()
 {