mbox series

[committed,0/8] libstdc++: Add/update/fix feature test macros

Message ID cover.1587592482.git.jwakely@redhat.com
Headers show
Series libstdc++: Add/update/fix feature test macros | expand

Message

Jonathan Wakely April 22, 2020, 9:57 p.m. UTC
This series of patches fixes a number of omissions and errors in the
feature test macros we define.

Tested powerpc64le-linux, committed to master.

Jonathan Wakely (8):
  libstdc++: Update value of __cpp_lib_jthread macro
  libstdc++: Remove non-standard feature test macros
  libstdc++: Add missing feature test macros
  libstdc++: Rename __cpp_lib_constexpr_invoke macro
  libstdc++: Update __cpp_lib_concepts value
  libstdc++: Do not define __cpp_lib_constexpr_algorithms in <utility>
  libstdc++: Update (and revert) value of __cpp_lib_array_constexpr
  libstdc++: Define __cpp_lib_execution feature test macro

 libstdc++-v3/ChangeLog                        | 87 +++++++++++++++++++
 libstdc++-v3/include/bits/ptr_traits.h        |  3 +
 libstdc++-v3/include/bits/range_access.h      |  1 +
 libstdc++-v3/include/bits/ranges_algo.h       |  1 +
 libstdc++-v3/include/bits/stl_iterator.h      |  6 +-
 libstdc++-v3/include/bits/stl_map.h           |  1 -
 libstdc++-v3/include/bits/unordered_map.h     |  1 -
 libstdc++-v3/include/std/atomic               |  1 +
 libstdc++-v3/include/std/concepts             |  2 +-
 libstdc++-v3/include/std/condition_variable   |  3 +-
 libstdc++-v3/include/std/execution            |  1 +
 libstdc++-v3/include/std/functional           |  2 +-
 libstdc++-v3/include/std/memory               |  1 +
 libstdc++-v3/include/std/memory_resource      |  1 +
 libstdc++-v3/include/std/stop_token           |  2 +-
 libstdc++-v3/include/std/string_view          |  1 +
 libstdc++-v3/include/std/type_traits          |  4 +
 libstdc++-v3/include/std/utility              |  8 +-
 libstdc++-v3/include/std/version              | 26 ++++--
 .../testsuite/20_util/exchange/constexpr.cc   |  6 --
 .../function_objects/invoke/constexpr.cc      |  4 +-
 .../testsuite/20_util/to_address/1_neg.cc     |  2 +-
 .../array/comparison_operators/constexpr.cc   |  6 ++
 .../array/element_access/constexpr_c++17.cc   | 57 ++++++++++++
 .../array/requirements/constexpr_fill.cc      |  6 ++
 .../array/requirements/constexpr_iter.cc      | 12 ++-
 .../25_algorithms/pstl/feature_test-2.cc      | 27 ++++++
 .../25_algorithms/pstl/feature_test-3.cc      | 34 ++++++++
 .../25_algorithms/pstl/feature_test-4.cc      | 33 +++++++
 .../25_algorithms/pstl/feature_test-5.cc      | 28 ++++++
 .../25_algorithms/pstl/feature_test.cc        | 27 +-----
 .../condition_variable_any/stop_token/1.cc    |  2 +-
 .../condition_variable_any/stop_token/2.cc    |  2 +-
 .../testsuite/30_threads/jthread/1.cc         |  2 +-
 .../testsuite/30_threads/jthread/2.cc         |  2 +-
 .../testsuite/30_threads/stop_token/1.cc      |  2 +-
 .../testsuite/30_threads/stop_token/2.cc      |  2 +-
 libstdc++-v3/testsuite/std/concepts/1.cc      |  2 +-
 libstdc++-v3/testsuite/std/concepts/2.cc      |  2 +-
 39 files changed, 345 insertions(+), 65 deletions(-)
 create mode 100644 libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_c++17.cc
 create mode 100644 libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-2.cc
 create mode 100644 libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-3.cc
 create mode 100644 libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc
 create mode 100644 libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-5.cc

Comments

Jonathan Wakely April 23, 2020, 8:46 p.m. UTC | #1
On 22/04/20 22:57 +0100, Jonathan Wakely wrote:
>This series of patches fixes a number of omissions and errors in the
>feature test macros we define.
>
>Tested powerpc64le-linux, committed to master.
>
>Jonathan Wakely (8):
>  libstdc++: Update value of __cpp_lib_jthread macro
>  libstdc++: Remove non-standard feature test macros
>  libstdc++: Add missing feature test macros
>  libstdc++: Rename __cpp_lib_constexpr_invoke macro
>  libstdc++: Update __cpp_lib_concepts value
>  libstdc++: Do not define __cpp_lib_constexpr_algorithms in <utility>
>  libstdc++: Update (and revert) value of __cpp_lib_array_constexpr
>  libstdc++: Define __cpp_lib_execution feature test macro


I've backported some of these changes (and other ones related to
feature test macros) to the gcc-9 branch. This means both master and
gcc-9 should define exactly the feature test macros for the features
they support.

With that done, I've also updated the C++20 status table in the docs
(only for master so far, but I'll do it for gcc-9 too).

The attached doc patch has been committed to master.