public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jonathan Wakely <jwakely@redhat.com>
To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org
Subject: [PATCH 00/13] libstdc++: Add support for running tests with multiple -std options
Date: Mon, 11 Sep 2023 17:16:31 +0100	[thread overview]
Message-ID: <20230911163534.1913512-1-jwakely@redhat.com> (raw)

This patch series replicates the behaviour of the g++ testsuite, so that
libstdc++ tests can easily be run for multiple different -std options in
a single testsuite run.  As described in the updated docs, the -std
options to use for every test can be overridden by setting v3_std_list
in ~/.dejagnurc or $DEJAGNU, or setting $GLIBCXX_TESTSUITE_STDS in the
environment.  If not overridden, the default is just to run with
-std=gnu++17 (so that we don't increase the time taken for a full
testsuite run).

Tests that require a newer standard than C++17 will default to that
newer standard and C++26, so e.g. std::format tests will be run with
both -std=gnu++20 and -std=gnu++26.  This does increase the number of
tests, but only for the subset of tests for C++20/23/26 features.  If
this is too costly for testers, we can change that (this might be
needed, because the C++20 tests for std::ranges and std::format are
particularly slow to compile).

Because a correct default will be chosen for tests that require
something newer than C++17, we no longer need dg-options "-std=gnu++20"
or similar in any tests.  Removing the explicit -std option allows the
test to be run for later standards via the v3_std_list settings, so that
we can verify that C++20 features still work in C++23 and C++26, for
example.  This change already found some tests which failed when run
with a later standard (see r14-3771-gf12e26f3496275).

Patches 2-13 in the series remove those unnecessary dg-options from
about half the relevant tests, but there are more than 500 others that
still need adjusting.

We can remove files like testsuite/std/format/functions/format_c++23.cc
which only exist to duplicate existing tests with a different -std
option.  We can remove that file now, and rely on format.cc being run
with multiple -std options by libstdc++ maintainers.

It might also be useful to add a 'make check-quick' target which runs a
small subset of smoke tests with every standard version in v3_std_list.
This would be a suitable target for CI bots and for packagers who want
to verify that a build of GCC is functional, without running the entire
libstdc++ testsuite.

Any comments or suggestions?

-- >8 --

Jonathan Wakely (13):
  libstdc++: Add support for running tests with multiple -std options
  libstdc++: Replace dg-options "-std=c++11" with dg-add-options
    strict_std
  libstdc++: Replace dg-options "-std=c++17" with dg-add-options
    strict_std
  libstdc++: Replace dg-options "-std=c++20" with dg-add-options
    strict_std
  libstdc++: Remove dg-options "-std=c++20" from <span> and <cuchar>
    tests
  libstdc++: Remove dg-options "-std=gnu++20" from <concepts> and
    <ranges> tests
  libstdc++: Remove dg-options "-std=gnu++2a" from constrained algo
    tests
  libstdc++: Remove dg-options "-std=gnu++20" from std::format tests
  libstdc++: Remove dg-options "-std=gnu++20" from std::chrono tests
  libstdc++: Remove dg-options "-std=gnu++23" from std::expected tests
  libstdc++: Remove dg-options "-std=gnu++23" from remaining tests
  libstdc++: Remove dg-options "-std=gnu++2a" from XFAIL std::span tests
  libstdc++: Simplify dejagnu directives for some tests using threads

 libstdc++-v3/doc/html/manual/test.html        |  46 +++++---
 libstdc++-v3/doc/xml/manual/test.xml          |  52 ++++++---
 .../headers/limits/synopsis_cxx23.cc          |   1 -
 .../18_support/headers/stdfloat/types_std.cc  |   1 -
 .../18_support/type_info/constexpr.cc         |   2 +-
 .../19_diagnostics/stacktrace/current.cc      |   2 +-
 .../19_diagnostics/stacktrace/entry.cc        |   2 +-
 .../19_diagnostics/stacktrace/stacktrace.cc   |   2 +-
 .../19_diagnostics/stacktrace/synopsis.cc     |   1 -
 .../19_diagnostics/stacktrace/version.cc      |   1 -
 .../20_util/aligned_storage/deprecated-2b.cc  |   1 -
 .../20_util/aligned_union/deprecated-2b.cc    |   1 -
 .../20_util/bitset/access/constexpr.cc        |   1 -
 .../20_util/bitset/cons/constexpr_c++23.cc    |   1 -
 .../20_util/bitset/count/constexpr.cc         |   1 -
 .../testsuite/20_util/bitset/ext/constexpr.cc |   1 -
 .../bitset/operations/constexpr_c++23.cc      |   1 -
 .../testsuite/20_util/bitset/version.cc       |   1 -
 .../duration/arithmetic/overflow_c++20.cc     |   1 -
 libstdc++-v3/testsuite/20_util/duration/io.cc |   1 -
 .../testsuite/20_util/expected/assign.cc      |   1 -
 .../testsuite/20_util/expected/bad.cc         |   1 -
 .../testsuite/20_util/expected/cons.cc        |   1 -
 .../testsuite/20_util/expected/equality.cc    |   1 -
 .../20_util/expected/illformed_neg.cc         |   1 -
 .../testsuite/20_util/expected/lwg3877.cc     |   1 -
 .../testsuite/20_util/expected/lwg3938.cc     |   1 -
 .../testsuite/20_util/expected/monadic.cc     |   1 -
 .../testsuite/20_util/expected/observers.cc   |   1 -
 .../20_util/expected/requirements.cc          |   1 -
 .../testsuite/20_util/expected/swap.cc        |   1 -
 .../testsuite/20_util/expected/synopsis.cc    |   1 -
 .../testsuite/20_util/expected/unexpected.cc  |   1 -
 .../testsuite/20_util/expected/version.cc     |   1 -
 .../testsuite/20_util/from_chars/8.cc         |   1 -
 .../testsuite/20_util/from_chars/constexpr.cc |   1 -
 .../20_util/function/cons/deduction_c++23.cc  |   1 -
 .../20_util/function_objects/invoke/4.cc      |   1 -
 .../function_objects/invoke/dangling_ref.cc   |   1 -
 .../function_objects/range.cmp/equal_to.cc    |   3 +-
 .../function_objects/range.cmp/greater.cc     |   3 +-
 .../range.cmp/greater_equal.cc                |   3 +-
 .../function_objects/range.cmp/less.cc        |   3 +-
 .../function_objects/range.cmp/less_equal.cc  |   3 +-
 .../function_objects/range.cmp/lwg3530.cc     |   1 -
 .../range.cmp/not_equal_to.cc                 |   3 +-
 .../testsuite/20_util/is_scoped_enum/value.cc |   1 -
 .../20_util/is_scoped_enum/version.cc         |   1 -
 .../20_util/move_only_function/call.cc        |   1 -
 .../20_util/move_only_function/cons.cc        |   1 -
 .../20_util/move_only_function/move.cc        |   1 -
 .../20_util/move_only_function/version.cc     |   1 -
 .../20_util/optional/monadic/and_then.cc      |   1 -
 .../20_util/optional/monadic/or_else.cc       |   1 -
 .../20_util/optional/monadic/or_else_neg.cc   |   1 -
 .../20_util/optional/monadic/pr109242.cc      |   1 -
 .../20_util/optional/monadic/transform.cc     |   1 -
 .../testsuite/20_util/pair/p2321r2.cc         |   1 -
 .../20_util/reference_from_temporary/value.cc |   1 -
 .../reference_from_temporary/value2.cc        |   1 -
 .../reference_from_temporary/version.cc       |   1 -
 .../testsuite/20_util/shared_ptr/atomic/3.cc  |   3 +-
 .../shared_ptr/thread/default_weaktoshared.cc |   3 +-
 .../shared_ptr/thread/mutex_weaktoshared.cc   |   3 +-
 .../specialized_algorithms/construct_at/1.cc  |   3 +-
 .../construct_at/92878_92947.cc               |   3 +-
 .../construct_at/95788.cc                     |   3 +-
 .../destroy/constrained.cc                    |   3 +-
 .../uninitialized_copy/constrained.cc         |   3 +-
 .../constrained.cc                            |   3 +-
 .../uninitialized_fill/94017.cc               |   3 +-
 .../uninitialized_fill/constrained.cc         |   3 +-
 .../uninitialized_fill_n/94017.cc             |   3 +-
 .../uninitialized_move/constrained.cc         |   3 +-
 .../constrained.cc                            |   3 +-
 .../synchronized_pool_resource/allocate.cc    |   6 +-
 .../allocate_single.cc                        |   3 +-
 .../synchronized_pool_resource/cons.cc        |   6 +-
 .../synchronized_pool_resource/cons_single.cc |   3 +-
 .../synchronized_pool_resource/is_equal.cc    |   6 +-
 .../multithreaded.cc                          |   6 +-
 .../synchronized_pool_resource/options.cc     |   6 +-
 .../synchronized_pool_resource/release.cc     |   6 +-
 .../release_single.cc                         |   3 +-
 .../testsuite/20_util/to_chars/constexpr.cc   |   1 -
 .../20_util/to_chars/float128_c++23.cc        |   1 -
 .../20_util/to_chars/float16_c++23.cc         |   1 -
 .../testsuite/20_util/to_chars/version.cc     |   1 -
 .../testsuite/20_util/to_underlying/1.cc      |   1 -
 .../20_util/to_underlying/version.cc          |   1 -
 .../testsuite/20_util/tuple/p2321r2.cc        |   1 -
 .../20_util/unique_ptr/assign/constexpr.cc    |   1 -
 .../unique_ptr/comparison/constexpr.cc        |   1 -
 .../unique_ptr/cons/constexpr_c++20.cc        |   1 -
 .../20_util/unique_ptr/creation/constexpr.cc  |   1 -
 .../20_util/unique_ptr/modifiers/constexpr.cc |   1 -
 .../specialized_algorithms/constexpr.cc       |   1 -
 .../testsuite/20_util/unreachable/1.cc        |   1 -
 .../testsuite/20_util/unreachable/version.cc  |   1 -
 .../20_util/uses_allocator/lwg3677.cc         |   1 -
 .../capacity/char/resize_and_overwrite.cc     |   1 -
 .../basic_string/operations/contains/char.cc  |   1 -
 .../operations/contains/nonnull.cc            |   2 +-
 .../operations/contains/wchar_t.cc            |   1 -
 .../cons/char/range_c++20.cc                  |   1 -
 .../cons/wchar_t/range_c++20.cc               |   1 -
 .../operations/contains/char.cc               |   1 -
 .../operations/contains/char/2.cc             |   1 -
 .../operations/contains/nonnull.cc            |   2 +-
 .../operations/contains/wchar_t.cc            |   1 -
 .../headers/cuchar/functions_std_cxx20.cc     |   1 -
 .../23_containers/deque/48101-2_neg.cc        |   4 +-
 .../23_containers/forward_list/48101-2_neg.cc |   4 +-
 .../23_containers/list/48101-2_neg.cc         |   4 +-
 .../23_containers/map/48101-2_neg.cc          |   4 +-
 .../testsuite/23_containers/map/48101_neg.cc  |   3 +-
 .../23_containers/multimap/48101-2_neg.cc     |   4 +-
 .../23_containers/multimap/48101_neg.cc       |   3 +-
 .../23_containers/multiset/48101-2_neg.cc     |   4 +-
 .../23_containers/queue/cons_from_iters.cc    |   1 -
 .../23_containers/set/48101-2_neg.cc          |   4 +-
 .../23_containers/span/back_assert_neg.cc     |   5 +-
 .../testsuite/23_containers/span/back_neg.cc  |   3 +-
 .../23_containers/span/cons_1_assert_neg.cc   |   5 +-
 .../23_containers/span/cons_2_assert_neg.cc   |   5 +-
 .../span/contiguous_range_neg.cc              |   3 +-
 .../23_containers/span/everything.cc          |   3 +-
 .../23_containers/span/first_2_assert_neg.cc  |   5 +-
 .../23_containers/span/first_assert_neg.cc    |   5 +-
 .../testsuite/23_containers/span/first_neg.cc |   3 +-
 .../23_containers/span/front_assert_neg.cc    |   5 +-
 .../testsuite/23_containers/span/front_neg.cc |   3 +-
 .../23_containers/span/index_op_assert_neg.cc |   5 +-
 .../23_containers/span/index_op_neg.cc        |   3 +-
 .../23_containers/span/last_2_assert_neg.cc   |   5 +-
 .../23_containers/span/last_assert_neg.cc     |   5 +-
 .../testsuite/23_containers/span/last_neg.cc  |   3 +-
 .../span/subspan_2_assert_neg.cc              |   5 +-
 .../span/subspan_3_assert_neg.cc              |   5 +-
 .../span/subspan_4_assert_neg.cc              |   5 +-
 .../span/subspan_5_assert_neg.cc              |   5 +-
 .../span/subspan_6_assert_neg.cc              |   5 +-
 .../23_containers/span/subspan_assert_neg.cc  |   5 +-
 .../23_containers/span/subspan_neg.cc         |   3 +-
 .../23_containers/stack/cons_from_iters.cc    |   1 -
 .../unordered_map/48101-2_neg.cc              |   4 +-
 .../unordered_multimap/48101-2_neg.cc         |   4 +-
 .../unordered_multiset/48101-2_neg.cc         |   4 +-
 .../unordered_set/48101-2_neg.cc              |   4 +-
 .../23_containers/vector/48101-2_neg.cc       |   4 +-
 .../vector/bool/element_access/1.cc           |   1 -
 .../24_iterators/const_iterator/1.cc          |   1 -
 .../range_operations/advance_debug_neg.cc     |   5 +-
 .../24_iterators/reverse_iterator/100639.cc   |   4 +-
 .../25_algorithms/adjacent_find/constexpr.cc  |   3 +-
 .../adjacent_find/constrained.cc              |   3 +-
 .../25_algorithms/all_of/constexpr.cc         |   3 +-
 .../25_algorithms/all_of/constrained.cc       |   3 +-
 .../25_algorithms/any_of/constexpr.cc         |   3 +-
 .../25_algorithms/any_of/constrained.cc       |   3 +-
 .../25_algorithms/binary_search/constexpr.cc  |   3 +-
 .../binary_search/constrained.cc              |   3 +-
 .../25_algorithms/clamp/constrained.cc        |   3 +-
 .../25_algorithms/constexpr_macro.cc          |   3 +-
 .../testsuite/25_algorithms/contains/1.cc     |   1 -
 .../25_algorithms/contains_subrange/1.cc      |   1 -
 .../testsuite/25_algorithms/copy/95578.cc     |   3 +-
 .../testsuite/25_algorithms/copy/constexpr.cc |   3 +-
 .../25_algorithms/copy/constrained.cc         |   3 +-
 .../25_algorithms/copy/debug/constexpr_neg.cc |   3 +-
 .../25_algorithms/copy_backward/95578.cc      |   3 +-
 .../25_algorithms/copy_backward/constexpr.cc  |   3 +-
 .../copy_backward/constrained.cc              |   3 +-
 .../copy_backward/debug/constexpr_neg.cc      |   3 +-
 .../25_algorithms/copy_if/constexpr.cc        |   3 +-
 .../25_algorithms/copy_if/constrained.cc      |   3 +-
 .../25_algorithms/copy_n/constexpr.cc         |   3 +-
 .../25_algorithms/copy_n/constrained.cc       |   3 +-
 .../25_algorithms/count/constexpr.cc          |   3 +-
 .../25_algorithms/count/constrained.cc        |   3 +-
 .../25_algorithms/count_if/constexpr.cc       |   3 +-
 .../25_algorithms/count_if/constrained.cc     |   3 +-
 .../25_algorithms/cpp_lib_constexpr.cc        |   3 +-
 .../testsuite/25_algorithms/equal/95578.cc    |   3 +-
 .../25_algorithms/equal/constexpr.cc          |   3 +-
 .../25_algorithms/equal/constexpr_neg.cc      |   3 +-
 .../25_algorithms/equal/constrained.cc        |   3 +-
 .../equal/debug/constexpr_neg.cc              |   3 +-
 .../25_algorithms/equal_range/constexpr.cc    |   3 +-
 .../25_algorithms/equal_range/constrained.cc  |   3 +-
 .../testsuite/25_algorithms/fill/94017.cc     |   3 +-
 .../testsuite/25_algorithms/fill/constexpr.cc |   3 +-
 .../25_algorithms/fill/constrained.cc         |   3 +-
 .../testsuite/25_algorithms/fill_n/94017.cc   |   3 +-
 .../25_algorithms/fill_n/constexpr.cc         |   3 +-
 .../25_algorithms/fill_n/constrained.cc       |   3 +-
 .../testsuite/25_algorithms/find/constexpr.cc |   3 +-
 .../25_algorithms/find/constrained.cc         |   3 +-
 .../25_algorithms/find_end/constexpr.cc       |   3 +-
 .../25_algorithms/find_end/constrained.cc     |   3 +-
 .../25_algorithms/find_first_of/constexpr.cc  |   3 +-
 .../find_first_of/constrained.cc              |   3 +-
 .../25_algorithms/find_if/constexpr.cc        |   3 +-
 .../25_algorithms/find_if/constrained.cc      |   3 +-
 .../25_algorithms/find_if_not/constexpr.cc    |   3 +-
 .../25_algorithms/find_if_not/constrained.cc  |   3 +-
 .../testsuite/25_algorithms/find_last/1.cc    |   1 -
 .../testsuite/25_algorithms/find_last_if/1.cc |   1 -
 .../25_algorithms/find_last_if_not/1.cc       |   1 -
 .../testsuite/25_algorithms/fold_left/1.cc    |   1 -
 .../testsuite/25_algorithms/fold_right/1.cc   |   1 -
 .../25_algorithms/for_each/constexpr.cc       |   3 +-
 .../25_algorithms/for_each/constrained.cc     |   3 +-
 .../25_algorithms/generate/constexpr.cc       |   3 +-
 .../25_algorithms/generate/constrained.cc     |   3 +-
 .../25_algorithms/generate_n/constexpr.cc     |   3 +-
 .../25_algorithms/generate_n/constrained.cc   |   3 +-
 .../25_algorithms/heap/constrained.cc         |   3 +-
 .../25_algorithms/includes/constrained.cc     |   3 +-
 .../inplace_merge/constrained.cc              |   3 +-
 .../testsuite/25_algorithms/iota/1.cc         |   1 -
 .../25_algorithms/is_heap/constexpr.cc        |   3 +-
 .../25_algorithms/is_heap_until/constexpr.cc  |   3 +-
 .../25_algorithms/is_partitioned/constexpr.cc |   3 +-
 .../is_partitioned/constrained.cc             |   3 +-
 .../25_algorithms/is_permutation/constexpr.cc |   3 +-
 .../is_permutation/constrained.cc             |   3 +-
 .../25_algorithms/is_sorted/constexpr.cc      |   3 +-
 .../25_algorithms/is_sorted/constrained.cc    |   3 +-
 .../is_sorted_until/constexpr.cc              |   3 +-
 .../is_sorted_until/constrained.cc            |   3 +-
 .../25_algorithms/iter_swap/constexpr.cc      |   3 +-
 .../lexicographical_compare/93972.cc          |   3 +-
 .../lexicographical_compare/95578.cc          |   3 +-
 .../lexicographical_compare/constexpr.cc      |   3 +-
 .../lexicographical_compare/constrained.cc    |   3 +-
 .../lexicographical_compare_three_way/1.cc    |   3 +-
 .../constexpr.cc                              |   3 +-
 .../25_algorithms/lower_bound/constexpr.cc    |   3 +-
 .../25_algorithms/lower_bound/constrained.cc  |   3 +-
 .../debug/constexpr_partitioned_neg.cc        |   3 +-
 .../debug/constexpr_partitioned_pred_neg.cc   |   3 +-
 .../debug/constexpr_valid_range_neg.cc        |   3 +-
 .../25_algorithms/make_heap/constexpr.cc      |   3 +-
 .../25_algorithms/max/constrained.cc          |   3 +-
 .../25_algorithms/max_element/constrained.cc  |   3 +-
 .../25_algorithms/merge/constexpr.cc          |   3 +-
 .../25_algorithms/merge/constrained.cc        |   3 +-
 .../25_algorithms/min/constrained.cc          |   3 +-
 .../25_algorithms/min_element/constrained.cc  |   3 +-
 .../25_algorithms/minmax/constrained.cc       |   3 +-
 .../minmax_element/constrained.cc             |   3 +-
 .../25_algorithms/mismatch/constexpr.cc       |   3 +-
 .../25_algorithms/mismatch/constrained.cc     |   3 +-
 .../testsuite/25_algorithms/move/93872.cc     |   3 +-
 .../testsuite/25_algorithms/move/95578.cc     |   3 +-
 .../testsuite/25_algorithms/move/constexpr.cc |   1 -
 .../25_algorithms/move/constrained.cc         |   3 +-
 .../25_algorithms/move_backward/93872.cc      |   3 +-
 .../25_algorithms/move_backward/95578.cc      |   3 +-
 .../move_backward/constrained.cc              |   3 +-
 .../next_permutation/constexpr.cc             |   3 +-
 .../next_permutation/constrained.cc           |   3 +-
 .../25_algorithms/none_of/constexpr.cc        |   3 +-
 .../25_algorithms/none_of/constrained.cc      |   3 +-
 .../25_algorithms/nth_element/constexpr.cc    |   3 +-
 .../25_algorithms/nth_element/constrained.cc  |   3 +-
 .../25_algorithms/partial_sort/constexpr.cc   |   3 +-
 .../25_algorithms/partial_sort/constrained.cc |   3 +-
 .../partial_sort_copy/constexpr.cc            |   3 +-
 .../partial_sort_copy/constrained.cc          |   3 +-
 .../25_algorithms/partition/constexpr.cc      |   3 +-
 .../25_algorithms/partition/constrained.cc    |   3 +-
 .../25_algorithms/partition_copy/constexpr.cc |   3 +-
 .../partition_copy/constrained.cc             |   3 +-
 .../partition_point/constexpr.cc              |   3 +-
 .../partition_point/constrained.cc            |   3 +-
 .../25_algorithms/pop_heap/constexpr.cc       |   3 +-
 .../prev_permutation/constexpr.cc             |   3 +-
 .../prev_permutation/constrained.cc           |   3 +-
 .../25_algorithms/push_heap/constexpr.cc      |   3 +-
 .../25_algorithms/remove/constexpr.cc         |   3 +-
 .../25_algorithms/remove/constrained.cc       |   3 +-
 .../25_algorithms/remove_copy/constexpr.cc    |   3 +-
 .../25_algorithms/remove_copy/constrained.cc  |   3 +-
 .../25_algorithms/remove_copy_if/constexpr.cc |   3 +-
 .../remove_copy_if/constrained.cc             |   3 +-
 .../25_algorithms/remove_if/constexpr.cc      |   3 +-
 .../25_algorithms/remove_if/constrained.cc    |   3 +-
 .../25_algorithms/replace/constrained.cc      |   3 +-
 .../25_algorithms/replace_copy/constexpr.cc   |   3 +-
 .../25_algorithms/replace_copy/constrained.cc |   3 +-
 .../replace_copy_if/constexpr.cc              |   3 +-
 .../replace_copy_if/constrained.cc            |   3 +-
 .../25_algorithms/replace_if/constexpr.cc     |   3 +-
 .../25_algorithms/replace_if/constrained.cc   |   3 +-
 .../25_algorithms/reverse/constexpr.cc        |   3 +-
 .../25_algorithms/reverse/constrained.cc      |   3 +-
 .../25_algorithms/reverse_copy/constexpr.cc   |   3 +-
 .../25_algorithms/reverse_copy/constrained.cc |   3 +-
 .../25_algorithms/rotate/constexpr.cc         |   3 +-
 .../25_algorithms/rotate/constrained.cc       |   3 +-
 .../25_algorithms/rotate_copy/constexpr.cc    |   3 +-
 .../25_algorithms/rotate_copy/constrained.cc  |   3 +-
 .../25_algorithms/sample/constrained.cc       |   3 +-
 .../25_algorithms/search/constexpr.cc         |   3 +-
 .../25_algorithms/search/constrained.cc       |   3 +-
 .../testsuite/25_algorithms/search_n/97828.cc |   3 +-
 .../25_algorithms/search_n/constexpr.cc       |   3 +-
 .../25_algorithms/search_n/constrained.cc     |   3 +-
 .../25_algorithms/set_difference/constexpr.cc |   3 +-
 .../set_difference/constrained.cc             |   3 +-
 .../set_intersection/constexpr.cc             |   3 +-
 .../set_intersection/constrained.cc           |   3 +-
 .../set_symmetric_difference/constexpr.cc     |   3 +-
 .../set_symmetric_difference/constrained.cc   |   3 +-
 .../25_algorithms/set_union/constexpr.cc      |   3 +-
 .../25_algorithms/set_union/constrained.cc    |   3 +-
 .../testsuite/25_algorithms/shift_left/1.cc   |   3 +-
 .../testsuite/25_algorithms/shift_right/1.cc  |   3 +-
 .../25_algorithms/shuffle/constrained.cc      |   3 +-
 .../testsuite/25_algorithms/sort/constexpr.cc |   3 +-
 .../25_algorithms/sort/constrained.cc         |   3 +-
 .../25_algorithms/sort_heap/constexpr.cc      |   3 +-
 .../stable_partition/constrained.cc           |   3 +-
 .../25_algorithms/stable_sort/constrained.cc  |   3 +-
 .../testsuite/25_algorithms/swap/constexpr.cc |   3 +-
 .../25_algorithms/swap_ranges/constexpr.cc    |   3 +-
 .../25_algorithms/swap_ranges/constrained.cc  |   3 +-
 .../25_algorithms/transform/constexpr.cc      |   3 +-
 .../25_algorithms/transform/constrained.cc    |   3 +-
 .../25_algorithms/unique/constexpr.cc         |   3 +-
 .../25_algorithms/unique/constrained.cc       |   3 +-
 .../25_algorithms/unique_copy/constexpr.cc    |   3 +-
 .../25_algorithms/unique_copy/constrained.cc  |   3 +-
 .../25_algorithms/upper_bound/constexpr.cc    |   3 +-
 .../25_algorithms/upper_bound/constrained.cc  |   3 +-
 .../debug/constexpr_partitioned_neg.cc        |   3 +-
 .../debug/constexpr_partitioned_pred_neg.cc   |   3 +-
 .../debug/constexpr_valid_range_neg.cc        |   3 +-
 .../26_numerics/bit/bit.byteswap/byteswap.cc  |   1 -
 .../26_numerics/bit/bit.byteswap/version.cc   |   1 -
 .../26_numerics/complex/ext_c++23.cc          |   1 -
 .../cmath/c99_classification_macros_c++23.cc  |   1 -
 .../headers/cmath/constexpr_std_c++23.cc      |   1 -
 .../headers/cmath/functions_std_c++23.cc      |   1 -
 .../headers/cmath/nextafter_c++23.cc          |   1 -
 .../testsuite/26_numerics/numbers/4.cc        |   1 -
 .../inserters_other/char/volatile_ptr.cc      |   2 +-
 .../filesystem/path/native/conv_c++23.cc      |   1 -
 libstdc++-v3/testsuite/27_io/spanstream/1.cc  |   1 -
 libstdc++-v3/testsuite/27_io/spanstream/2.cc  |   1 -
 .../testsuite/27_io/spanstream/version.cc     |   1 -
 .../atomic_float/requirements_cxx23.cc        |   1 -
 .../headers/stdatomic.h/c_compat.cc           |   1 -
 .../29_atomics/headers/stdatomic.h/version.cc |   1 -
 .../stop_token/wait_on.cc                     |   6 +-
 .../packaged_task/cons/deduction_c++23.cc     |   1 -
 .../stop_token/stop_callback/deadlock-mt.cc   |   5 +-
 .../stop_token/stop_callback/destroy.cc       |   5 +-
 libstdc++-v3/testsuite/Makefile.am            |   1 +
 libstdc++-v3/testsuite/Makefile.in            |   1 +
 .../filesystem/path/native/conv_c++23.cc      |   1 -
 libstdc++-v3/testsuite/lib/dg-options.exp     |   7 ++
 libstdc++-v3/testsuite/lib/libstdc++.exp      | 107 ++++++++++++++++++
 .../testsuite/libstdc++-dg/conformance.exp    |   3 +-
 libstdc++-v3/testsuite/std/concepts/1.cc      |   3 +-
 libstdc++-v3/testsuite/std/concepts/2.cc      |   3 +-
 .../concepts/concepts.callable/invocable.cc   |   3 +-
 .../concepts.callable/regular_invocable.cc    |   3 +-
 .../concepts/concepts.callable/relation.cc    |   3 +-
 .../concepts.callable/strictweakorder.cc      |   3 +-
 .../concept.arithmetic/floating_point.cc      |   3 +-
 .../concept.arithmetic/integral.cc            |   3 +-
 .../concept.arithmetic/signed_integral.cc     |   3 +-
 .../concept.arithmetic/unsigned_integral.cc   |   3 +-
 .../concepts.lang/concept.assignable/1.cc     |   3 +-
 .../concepts.lang/concept.common/1.cc         |   3 +-
 .../concepts.lang/concept.commonref/1.cc      |   3 +-
 .../concepts.lang/concept.constructible/1.cc  |   3 +-
 .../concepts.lang/concept.convertible/1.cc    |   3 +-
 .../concept.copyconstructible/1.cc            |   3 +-
 .../concept.defaultinitializable/1.cc         |   3 +-
 .../concept.defaultinitializable/lwg3149.cc   |   3 +-
 .../concepts.lang/concept.derived/1.cc        |   3 +-
 .../concepts.lang/concept.destructible/1.cc   |   3 +-
 .../concept.moveconstructible/1.cc            |   3 +-
 .../concepts/concepts.lang/concept.same/1.cc  |   3 +-
 .../concepts.lang/concept.swappable/swap.cc   |   3 +-
 .../concept.swappable/swappable.cc            |   3 +-
 .../concept.swappable/swappable_with.cc       |   3 +-
 .../std/concepts/concepts.object/copyable.cc  |   3 +-
 .../std/concepts/concepts.object/movable.cc   |   3 +-
 .../std/concepts/concepts.object/regular.cc   |   3 +-
 .../concepts/concepts.object/semiregular.cc   |   3 +-
 .../testsuite/std/format/arguments/args.cc    |   1 -
 .../testsuite/std/format/arguments/lwg3810.cc |   1 -
 libstdc++-v3/testsuite/std/format/error.cc    |   1 -
 .../testsuite/std/format/format_string.cc     |   1 -
 .../testsuite/std/format/formatter/concept.cc |   1 -
 .../std/format/formatter/ext_float.cc         |   1 -
 .../std/format/formatter/requirements.cc      |   1 -
 .../testsuite/std/format/functions/107871.cc  |   1 -
 .../testsuite/std/format/functions/format.cc  |   1 -
 .../std/format/functions/format_c++23.cc      |   5 -
 .../std/format/functions/format_to.cc         |   1 -
 .../std/format/functions/format_to_n.cc       |   1 -
 .../testsuite/std/format/functions/size.cc    |   1 -
 .../std/format/functions/vformat_to.cc        |   1 -
 .../testsuite/std/format/parse_ctx.cc         |   1 -
 libstdc++-v3/testsuite/std/format/string.cc   |   1 -
 .../testsuite/std/format/string_neg.cc        |   1 -
 libstdc++-v3/testsuite/std/ranges/97600.cc    |   3 +-
 .../testsuite/std/ranges/access/101782.cc     |   2 +-
 .../testsuite/std/ranges/access/begin.cc      |   3 +-
 .../testsuite/std/ranges/access/begin_neg.cc  |   3 +-
 .../testsuite/std/ranges/access/cbegin.cc     |   3 +-
 .../testsuite/std/ranges/access/cdata.cc      |   3 +-
 .../testsuite/std/ranges/access/cend.cc       |   3 +-
 .../testsuite/std/ranges/access/crbegin.cc    |   3 +-
 .../testsuite/std/ranges/access/crend.cc      |   3 +-
 .../testsuite/std/ranges/access/data.cc       |   3 +-
 .../testsuite/std/ranges/access/empty.cc      |   3 +-
 .../testsuite/std/ranges/access/end.cc        |   3 +-
 .../testsuite/std/ranges/access/end_neg.cc    |   3 +-
 .../testsuite/std/ranges/access/lwg3467.cc    |   3 +-
 .../testsuite/std/ranges/access/p2602.cc      |   1 -
 .../testsuite/std/ranges/access/rbegin.cc     |   3 +-
 .../testsuite/std/ranges/access/rend.cc       |   3 +-
 .../testsuite/std/ranges/access/size.cc       |   3 +-
 .../testsuite/std/ranges/access/size_neg.cc   |   3 +-
 .../testsuite/std/ranges/access/ssize.cc      |   3 +-
 .../testsuite/std/ranges/adaptors/100479.cc   |   3 +-
 .../testsuite/std/ranges/adaptors/100577.cc   |   3 +-
 .../testsuite/std/ranges/adaptors/93978.cc    |   3 +-
 .../testsuite/std/ranges/adaptors/95322.cc    |   3 +-
 .../testsuite/std/ranges/adaptors/99433.cc    |   3 +-
 .../std/ranges/adaptors/adjacent/1.cc         |   1 -
 .../ranges/adaptors/adjacent_transform/1.cc   |   1 -
 .../testsuite/std/ranges/adaptors/all.cc      |   3 +-
 .../std/ranges/adaptors/as_const/1.cc         |   1 -
 .../std/ranges/adaptors/as_rvalue/1.cc        |   1 -
 .../testsuite/std/ranges/adaptors/chunk/1.cc  |   1 -
 .../std/ranges/adaptors/chunk_by/1.cc         |   1 -
 .../testsuite/std/ranges/adaptors/common.cc   |   3 +-
 .../ranges/adaptors/conditionally_borrowed.cc |   3 +-
 .../testsuite/std/ranges/adaptors/counted.cc  |   3 +-
 .../ranges/adaptors/detail/copyable_box.cc    |   3 +-
 .../testsuite/std/ranges/adaptors/drop.cc     |   3 +-
 .../std/ranges/adaptors/drop_while.cc         |   3 +-
 .../testsuite/std/ranges/adaptors/elements.cc |   3 +-
 .../std/ranges/adaptors/enumerate/1.cc        |   1 -
 .../testsuite/std/ranges/adaptors/filter.cc   |   3 +-
 .../testsuite/std/ranges/adaptors/join.cc     |   3 +-
 .../std/ranges/adaptors/join_with/1.cc        |   1 -
 .../std/ranges/adaptors/lazy_split.cc         |   3 +-
 .../std/ranges/adaptors/lazy_split_neg.cc     |   3 +-
 .../testsuite/std/ranges/adaptors/lwg3286.cc  |   3 +-
 .../std/ranges/adaptors/lwg3313_neg.cc        |   3 +-
 .../std/ranges/adaptors/lwg3325_neg.cc        |   3 +-
 .../testsuite/std/ranges/adaptors/lwg3406.cc  |   3 +-
 .../testsuite/std/ranges/adaptors/lwg3715.cc  |   1 -
 .../testsuite/std/ranges/adaptors/p1739.cc    |   1 -
 .../testsuite/std/ranges/adaptors/p2281.cc    |   3 +-
 .../testsuite/std/ranges/adaptors/p2770r0.cc  |   1 -
 .../testsuite/std/ranges/adaptors/reverse.cc  |   3 +-
 .../testsuite/std/ranges/adaptors/sizeof.cc   |   3 +-
 .../testsuite/std/ranges/adaptors/slide/1.cc  |   1 -
 .../testsuite/std/ranges/adaptors/split.cc    |   3 +-
 .../testsuite/std/ranges/adaptors/stride/1.cc |   1 -
 .../testsuite/std/ranges/adaptors/take.cc     |   3 +-
 .../std/ranges/adaptors/take_while.cc         |   3 +-
 .../std/ranges/adaptors/transform.cc          |   3 +-
 .../std/ranges/cartesian_product/1.cc         |   1 -
 .../testsuite/std/ranges/empty_view.cc        |   3 +-
 .../std/ranges/headers/ranges/synopsis.cc     |   3 +-
 .../testsuite/std/ranges/iota/93267.cc        |   4 +-
 .../testsuite/std/ranges/iota/96042.cc        |   4 +-
 .../std/ranges/iota/difference_type.cc        |   3 +-
 .../testsuite/std/ranges/iota/iota_view.cc    |   3 +-
 .../testsuite/std/ranges/iota/iterator.cc     |   3 +-
 .../testsuite/std/ranges/iota/lwg3292_neg.cc  |   3 +-
 .../std/ranges/iota/max_size_type.cc          |   3 +-
 .../testsuite/std/ranges/iota/size.cc         |   2 +-
 .../testsuite/std/ranges/istream_view.cc      |   3 +-
 libstdc++-v3/testsuite/std/ranges/p2259.cc    |   3 +-
 libstdc++-v3/testsuite/std/ranges/p2367.cc    |   3 +-
 libstdc++-v3/testsuite/std/ranges/range.cc    |   3 +-
 .../std/ranges/range_adaptor_closure.cc       |   1 -
 .../testsuite/std/ranges/refinements.cc       |   3 +-
 libstdc++-v3/testsuite/std/ranges/repeat/1.cc |   1 -
 .../testsuite/std/ranges/safe_range.cc        |   3 +-
 .../testsuite/std/ranges/safe_range_types.cc  |   3 +-
 .../testsuite/std/ranges/single_view.cc       |   3 +-
 libstdc++-v3/testsuite/std/ranges/sized.cc    |   3 +-
 .../testsuite/std/ranges/subrange/96042.cc    |   4 +-
 .../testsuite/std/ranges/subrange/97512.cc    |   3 +-
 .../std/ranges/subrange/lwg3282_neg.cc        |   7 +-
 .../testsuite/std/ranges/subrange/lwg3286.cc  |   3 +-
 .../testsuite/std/ranges/subrange/lwg3433.cc  |   3 +-
 .../testsuite/std/ranges/subrange/sizeof.cc   |   3 +-
 .../std/ranges/subrange/tuple_like.cc         |   3 +-
 .../testsuite/std/ranges/version_c++23.cc     |   1 -
 libstdc++-v3/testsuite/std/ranges/view.cc     |   3 +-
 libstdc++-v3/testsuite/std/ranges/zip/1.cc    |   1 -
 .../testsuite/std/ranges/zip_transform/1.cc   |   1 -
 .../testsuite/std/time/clock/file/io.cc       |   1 -
 .../testsuite/std/time/clock/file/members.cc  |   3 +-
 .../testsuite/std/time/clock/file/overview.cc |   3 +-
 .../testsuite/std/time/clock/gps/1.cc         |   1 -
 .../testsuite/std/time/clock/gps/io.cc        |   1 -
 .../testsuite/std/time/clock/local/io.cc      |   1 -
 .../testsuite/std/time/clock/system/io.cc     |   1 -
 .../testsuite/std/time/clock/tai/1.cc         |   1 -
 .../testsuite/std/time/clock/tai/io.cc        |   1 -
 .../testsuite/std/time/clock/utc/1.cc         |   1 -
 .../testsuite/std/time/clock/utc/io.cc        |   1 -
 .../std/time/clock/utc/leap_second_info.cc    |   1 -
 libstdc++-v3/testsuite/std/time/day/1.cc      |   3 +-
 libstdc++-v3/testsuite/std/time/day/io.cc     |   1 -
 libstdc++-v3/testsuite/std/time/exceptions.cc |   1 -
 libstdc++-v3/testsuite/std/time/format.cc     |   1 -
 libstdc++-v3/testsuite/std/time/hh_mm_ss/1.cc |   3 +-
 .../testsuite/std/time/hh_mm_ss/109772.cc     |   1 -
 .../testsuite/std/time/hh_mm_ss/io.cc         |   1 -
 libstdc++-v3/testsuite/std/time/is_am/1.cc    |   3 +-
 libstdc++-v3/testsuite/std/time/is_pm/1.cc    |   3 +-
 libstdc++-v3/testsuite/std/time/make12/1.cc   |   3 +-
 libstdc++-v3/testsuite/std/time/make24/1.cc   |   3 +-
 libstdc++-v3/testsuite/std/time/month/1.cc    |   3 +-
 libstdc++-v3/testsuite/std/time/month/io.cc   |   1 -
 .../testsuite/std/time/month_day/1.cc         |   3 +-
 .../testsuite/std/time/month_day/io.cc        |   1 -
 .../testsuite/std/time/month_day_last/1.cc    |   3 +-
 .../testsuite/std/time/month_day_last/io.cc   |   1 -
 .../testsuite/std/time/month_weekday/1.cc     |   3 +-
 .../testsuite/std/time/month_weekday/io.cc    |   1 -
 .../std/time/month_weekday_last/1.cc          |   3 +-
 .../std/time/month_weekday_last/io.cc         |   1 -
 libstdc++-v3/testsuite/std/time/parse.cc      |   1 -
 libstdc++-v3/testsuite/std/time/syn_c++20.cc  |   3 +-
 .../std/time/time_zone/get_info_local.cc      |   1 -
 .../std/time/time_zone/get_info_sys.cc        |   1 -
 .../std/time/time_zone/requirements.cc        |   1 -
 .../testsuite/std/time/traits/is_clock.cc     |   3 +-
 libstdc++-v3/testsuite/std/time/tzdb/1.cc     |   1 -
 .../testsuite/std/time/tzdb/leap_seconds.cc   |   1 -
 .../testsuite/std/time/tzdb_list/1.cc         |   1 -
 .../std/time/tzdb_list/requirements.cc        |   1 -
 libstdc++-v3/testsuite/std/time/weekday/1.cc  |   3 +-
 libstdc++-v3/testsuite/std/time/weekday/io.cc |   1 -
 .../testsuite/std/time/weekday_indexed/1.cc   |   3 +-
 .../testsuite/std/time/weekday_indexed/io.cc  |   1 -
 .../testsuite/std/time/weekday_last/1.cc      |   3 +-
 .../testsuite/std/time/weekday_last/io.cc     |   1 -
 libstdc++-v3/testsuite/std/time/year/1.cc     |   3 +-
 libstdc++-v3/testsuite/std/time/year/2.cc     |   3 +-
 libstdc++-v3/testsuite/std/time/year/io.cc    |   1 -
 .../testsuite/std/time/year_month/1.cc        |   3 +-
 .../testsuite/std/time/year_month/2.cc        |   3 +-
 .../testsuite/std/time/year_month/io.cc       |   1 -
 .../testsuite/std/time/year_month_day/1.cc    |   3 +-
 .../testsuite/std/time/year_month_day/2.cc    |   3 +-
 .../testsuite/std/time/year_month_day/3.cc    |   3 +-
 .../testsuite/std/time/year_month_day/4.cc    |   3 +-
 .../testsuite/std/time/year_month_day/io.cc   |   1 -
 .../std/time/year_month_day_last/1.cc         |   3 +-
 .../std/time/year_month_day_last/2.cc         |   3 +-
 .../std/time/year_month_day_last/io.cc        |   1 -
 .../std/time/year_month_weekday/1.cc          |   3 +-
 .../std/time/year_month_weekday/2.cc          |   3 +-
 .../std/time/year_month_weekday/3.cc          |   3 +-
 .../std/time/year_month_weekday/io.cc         |   1 -
 .../std/time/year_month_weekday_last/1.cc     |   3 +-
 .../std/time/year_month_weekday_last/2.cc     |   3 +-
 .../std/time/year_month_weekday_last/io.cc    |   1 -
 .../testsuite/std/time/zoned_time/1.cc        |   1 -
 .../testsuite/std/time/zoned_time/custom.cc   |   1 -
 .../std/time/zoned_time/deduction.cc          |   1 -
 .../testsuite/std/time/zoned_time/io.cc       |   1 -
 .../testsuite/std/time/zoned_time/req_neg.cc  |   1 -
 .../std/time/zoned_time/requirements.cc       |   1 -
 .../testsuite/std/time/zoned_traits.cc        |   1 -
 .../07_conf_hyperg/compile_cxx17.cc           |   2 +-
 .../17_hyperg/compile_cxx17.cc                |   2 +-
 585 files changed, 622 insertions(+), 1029 deletions(-)
 delete mode 100644 libstdc++-v3/testsuite/std/format/functions/format_c++23.cc

-- 
2.41.0


             reply	other threads:[~2023-09-11 16:35 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-11 16:16 Jonathan Wakely [this message]
2023-09-11 16:16 ` [PATCH 01/13] " Jonathan Wakely
2023-09-11 16:16 ` [PATCH 02/13] libstdc++: Replace dg-options "-std=c++11" with dg-add-options strict_std Jonathan Wakely
2023-09-11 16:16 ` [PATCH 03/13] libstdc++: Replace dg-options "-std=c++17" " Jonathan Wakely
2023-09-11 16:16 ` [PATCH 04/13] libstdc++: Replace dg-options "-std=c++20" " Jonathan Wakely
2023-09-11 16:16 ` [PATCH 05/13] libstdc++: Remove dg-options "-std=c++20" from <span> and <cuchar> tests Jonathan Wakely
2023-09-11 16:16 ` [PATCH 06/13] libstdc++: Remove dg-options "-std=gnu++20" from <concepts> and <ranges> tests Jonathan Wakely
2023-09-15 20:54   ` [PATCH v2 6/13] " Jonathan Wakely
2023-09-11 16:16 ` [PATCH 07/13] libstdc++: Remove dg-options "-std=gnu++2a" from constrained algo tests Jonathan Wakely
2023-09-11 16:16 ` [PATCH 08/13] libstdc++: Remove dg-options "-std=gnu++20" from std::format tests Jonathan Wakely
2023-09-11 16:16 ` [PATCH 09/13] libstdc++: Remove dg-options "-std=gnu++20" from std::chrono tests Jonathan Wakely
2023-09-11 16:16 ` [PATCH 10/13] libstdc++: Remove dg-options "-std=gnu++23" from std::expected tests Jonathan Wakely
2023-09-11 16:16 ` [PATCH 11/13] libstdc++: Remove dg-options "-std=gnu++23" from remaining tests Jonathan Wakely
2023-09-11 16:16 ` [PATCH 12/13] libstdc++: Remove dg-options "-std=gnu++2a" from XFAIL std::span tests Jonathan Wakely
2023-09-11 16:16 ` [PATCH 13/13] libstdc++: Simplify dejagnu directives for some tests using threads Jonathan Wakely
2023-09-12 13:05 ` [PATCH 00/13] libstdc++: Add support for running tests with multiple -std options Jonathan Wakely
2023-09-12 13:39   ` [PATCH 14/13] libstdc++: Re-initialize static data files used by tests Jonathan Wakely
2023-09-15 23:04 ` [PATCH 00/13] libstdc++: Add support for running tests with multiple -std options 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=20230911163534.1913512-1-jwakely@redhat.com \
    --to=jwakely@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --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).