libstdc++: Update (and revert) value of __cpp_lib_array_constexpr
authorJonathan Wakely <jwakely@redhat.com>
Wed, 22 Apr 2020 21:54:35 +0000 (22:54 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Wed, 22 Apr 2020 21:54:35 +0000 (22:54 +0100)
commite851aa1703c3d911720d8f9bee68a521abe588f7
treeca8a93040ac4990df88400f9debd850b4ed2bec4
parent2025db692e9ed1192f831bc122413a226987515c
libstdc++: Update (and revert) value of __cpp_lib_array_constexpr

This macro should have been updated to 201811 when the last C++20
changes were implemented. However those changes are not enabled for
C++17 mode, so the macro should only have the new value in C++20 mode.

This change ensures that the macro is defined to 201603 for C++17 and
201811 for C++20.

* include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Define
different values for C++17 and C++20, to indicate different feature
sets. Update value for C++20 to indicate P1032R1 support.
* include/std/version (__cpp_lib_array_constexpr): Likewise.
* testsuite/23_containers/array/comparison_operators/constexpr.cc:
Check feature test macro.
* testsuite/23_containers/array/element_access/constexpr_c++17.cc:
New test.
* testsuite/23_containers/array/requirements/constexpr_fill.cc: Check
feature test macro.
* testsuite/23_containers/array/requirements/constexpr_iter.cc: Test
in C++17 mode and check feature test macro.
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_iterator.h
libstdc++-v3/include/std/version
libstdc++-v3/testsuite/23_containers/array/comparison_operators/constexpr.cc
libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_c++17.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_fill.cc
libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc