public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: "Ed Smith-Rowland via gcc-patches" <gcc-patches@gcc.gnu.org>
To: "libstdc++@gcc.gnu.org" <libstdc++@gcc.gnu.org>,
	Jonathan Wakely <jwakely@redhat.com>,
	gcc-patches <gcc-patches@gcc.gnu.org>,
	Jonathan Wakely <jwakely.gcc@gmail.com>
Subject: Implement C++20 p1424 - 'constexpr' feature macro concerns.
Date: Sat, 17 Aug 2019 05:48:00 -0000	[thread overview]
Message-ID: <a5e8d827-071b-12fc-9272-48a2b08737a4@verizon.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 632 bytes --]

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



[-- Attachment #2: CL_cpp_lib_constexpr --]
[-- Type: text/plain, Size: 3820 bytes --]

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.


[-- Attachment #3: patch_cpp_lib_constexpr --]
[-- Type: text/plain, Size: 36651 bytes --]

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()
 {

             reply	other threads:[~2019-08-17  2:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-17  5:48 Ed Smith-Rowland via gcc-patches [this message]
2019-08-21  2:11 ` Jonathan Wakely
2019-08-22  7:50   ` Ed Smith-Rowland via gcc-patches
2019-09-09 19:51     ` Jonathan Wakely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a5e8d827-071b-12fc-9272-48a2b08737a4@verizon.net \
    --to=gcc-patches@gcc.gnu.org \
    --cc=3dw4rd@verizon.net \
    --cc=jwakely.gcc@gmail.com \
    --cc=jwakely@redhat.com \
    --cc=libstdc++@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).