Skip to content
Snippets Groups Projects
  1. Sep 18, 2023
    • Jason Merrill's avatar
      c++: overlapping subobjects tweak · d5d45465
      Jason Merrill authored
      The ABI is settling on "similar" for this rule.
      
      gcc/cp/ChangeLog:
      
      	* class.cc (check_subobject_offset): Use similar_type_p.
      d5d45465
    • Juzhe-Zhong's avatar
      RISC-V: Remove redundant codes of VLS patterns[NFC] · 5761dce5
      Juzhe-Zhong authored
      Consider those VLS patterns are the same VLA patterns.
      Now extend VI -> V_VLSI and VF -> V_VLSF.
      Then remove the redundant codes of VLS patterns.
      
      gcc/ChangeLog:
      
      	* config/riscv/autovec-vls.md (<optab><mode>3): Deleted.
      	(copysign<mode>3): Ditto.
      	(xorsign<mode>3): Ditto.
      	(<optab><mode>2): Ditto.
      	* config/riscv/autovec.md: Extend VLS modes.
      5761dce5
    • Jiufu Guo's avatar
      use local range for one more pattern in match.pd · 55b22a6f
      Jiufu Guo authored
      For "get_global_range_query" SSA_NAME_RANGE_INFO can be queried.
      For "get_range_query", it could get more context-aware range info.
      And look at the implementation of "get_range_query",  it returns
      global range if no local fun info.
      
      ATTRIBUTE_RETURNS_NONNULL inline range_query *
      get_range_query (const struct function *fun)
      {
        return (fun && fun->x_range_query) ? fun->x_range_query : &global_ranges;
      }
      
      So, using "get_range_query" would cover more case.
      For example, the test case of "pr111303.c".
      
      	PR middle-end/111303
      
      gcc/ChangeLog:
      
      	* match.pd ((t * 2) / 2): Update pattern.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/tree-ssa/pr111303.c: New test.
      55b22a6f
    • GCC Administrator's avatar
      Daily bump. · 5b4acfa3
      GCC Administrator authored
      5b4acfa3
  2. Sep 17, 2023
    • Andrew Pinski's avatar
      Remove xfail from gcc.dg/tree-ssa/20040204-1.c · 51f1287e
      Andrew Pinski authored
      So the xfail was there because at one point the difference
      from having logical-op-non-short-circuit set to 1 or 0 made a
      difference in being able to optimizing a conditional way.
      This has not been true for over 10 years in this case so
      instead of keeping on adding to the xfail list, removing it
      is the right thing to do.
      
      Committed as obvious after a test on x86_64-linux-gnu.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/tree-ssa/20040204-1.c: Remove xfail.
      51f1287e
    • Ajit Kumar Agarwal's avatar
      rs6000: unnecessary clear after vctzlsbb in vec_first_match_or_eos_index · b34f8e70
      Ajit Kumar Agarwal authored
      For rs6000 target we dont need zero_extend after vctzlsbb as vctzlsbb
      already zero extend.
      
      2023-09-17  Ajit Kumar Agarwal  <aagarwa1@linux.ibm.com>
      
      gcc/ChangeLog:
      
      	* config/rs6000/vsx.md (*vctzlsbb_zext_<mode>): New define_insn.
      
      gcc/testsuite/ChangeLog:
      
      	* g++.target/powerpc/altivec-19.C: New testcase.
      b34f8e70
    • GCC Administrator's avatar
      Daily bump. · 68845f7c
      GCC Administrator authored
      68845f7c
  3. Sep 16, 2023
    • Juzhe-Zhong's avatar
      RISC-V: Expand VLS mode to scalar mode move[PR111391] · 86451305
      Juzhe-Zhong authored
      This patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111391
      
      	PR target/111391
      
      gcc/ChangeLog:
      
      	* config/riscv/autovec.md (@vec_extract<mode><vel>): Remove @.
      	(vec_extract<mode><vel>): Ditto.
      	* config/riscv/riscv-vsetvl.cc (emit_vsetvl_insn): Fix bug.
      	(pass_vsetvl::local_eliminate_vsetvl_insn): Fix bug.
      	* config/riscv/riscv.cc (riscv_legitimize_move): Expand VLS mode to scalar mode move.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/riscv/rvv/autovec/partial/slp-9.c: Adapt test.
      	* gcc.target/riscv/rvv/autovec/pr111391-1.c: New test.
      	* gcc.target/riscv/rvv/autovec/pr111391-2.c: New test.
      86451305
    • Tsukasa OI's avatar
      RISC-V: Make SHA-256, SM3 and SM4 builtins operate on uint32_t · 9882b814
      Tsukasa OI authored
      This is in parity with the LLVM commit a64b3e92c7cb ("[RISCV] Re-define
      sha256, Zksed, and Zksh intrinsics to use i32 types.").
      
      SHA-256, SM3 and SM4 instructions operate on 32-bit integers and upper
      32-bits have no effects on RV64 (the output is sign-extended from the
      original 32-bit value).  In that sense, making those intrinsics only
      operate on uint32_t is much more natural than XLEN-bits wide integers.
      
      This commit reforms instructions and expansions based on 32-bit
      instruction handling on RV64 (such as ADDW).
      
      Before:
         riscv_<op>_si: For RV32, fully operate on uint32_t
         riscv_<op>_di: For RV64, fully operate on uint64_t
      After:
        *riscv_<op>_si: For RV32, fully operate on uint32_t
         riscv_<op>_di_extended:
                        For RV64.  Input is uint32_t and output is int64_t,
                        sign-extended from the int32_t result
                        (represents a part of <op> behavior).
         riscv_<op>_si: Common (fully operate on uint32_t).
                        On RV32, "expands" to *riscv_<op>_si.
                        On RV64, initially expands to riscv_<op>_di_extended *and*
                        extracts lower 32-bits from the int64_t result.
      
      It also refines definitions of SHA-256, SM3 and SM4 intrinsics.
      
      gcc/ChangeLog:
      
      	* config/riscv/crypto.md (riscv_sha256sig0_<mode>,
      	riscv_sha256sig1_<mode>, riscv_sha256sum0_<mode>,
      	riscv_sha256sum1_<mode>, riscv_sm3p0_<mode>, riscv_sm3p1_<mode>,
      	riscv_sm4ed_<mode>, riscv_sm4ks_<mode>): Remove and replace with
      	new insn/expansions.
      	(SHA256_OP, SM3_OP, SM4_OP): New iterators.
      	(sha256_op, sm3_op, sm4_op): New attributes for iteration.
      	(*riscv_<sha256_op>_si): New raw instruction for RV32.
      	(*riscv_<sm3_op>_si): Ditto.
      	(*riscv_<sm4_op>_si): Ditto.
      	(riscv_<sha256_op>_di_extended): New base instruction for RV64.
      	(riscv_<sm3_op>_di_extended): Ditto.
      	(riscv_<sm4_op>_di_extended): Ditto.
      	(riscv_<sha256_op>_si): New common instruction expansion.
      	(riscv_<sm3_op>_si): Ditto.
      	(riscv_<sm4_op>_si): Ditto.
      	* config/riscv/riscv-builtins.cc: Add availability "crypto_zknh",
      	"crypto_zksh" and "crypto_zksed".  Remove availability
      	"crypto_zksh{32,64}" and "crypto_zksed{32,64}".
      	* config/riscv/riscv-ftypes.def: Remove unused function type.
      	* config/riscv/riscv-scalar-crypto.def: Make SHA-256, SM3 and SM4
      	intrinsics to operate on uint32_t.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/riscv/zknh-sha256.c: Moved to...
      	* gcc.target/riscv/zknh-sha256-64.c: ...here.  Test RV64.
      	* gcc.target/riscv/zknh-sha256-32.c: New test for RV32.
      	* gcc.target/riscv/zksh64.c: Change the type.
      	* gcc.target/riscv/zksed64.c: Ditto.
      9882b814
    • Tsukasa OI's avatar
      RISC-V: Make bit manipulation value / round number and shift amount types for builtins unsigned · a1751681
      Tsukasa OI authored
      For bit manipulation operations, input(s) and the manipulated output are
      better to be unsigned like other target-independent builtins like
      __builtin_bswap32 and __builtin_popcount.
      
      Although this is not completely compatible as before (as the type changes),
      most code will run normally, even without warnings (with -Wall -Wextra).
      
      To make consistent to the LLVM commit 599421ae36c3 ("[RISCV] Use unsigned
      instead of signed types for Zk* and Zb* builtins."), round numbers and
      shift amount on the scalar crypto instructions are also changed
      to unsigned.
      
      gcc/ChangeLog:
      
      	* config/riscv/riscv-builtins.cc (RISCV_ATYPE_UQI): New for
      	uint8_t.  (RISCV_ATYPE_UHI): New for uint16_t.
      	(RISCV_ATYPE_QI, RISCV_ATYPE_HI, RISCV_ATYPE_SI, RISCV_ATYPE_DI):
      	Removed as no longer used.
      	(RISCV_ATYPE_UDI): New for uint64_t.
      	* config/riscv/riscv-cmo.def: Make types unsigned for not working
      	"zicbop_cbo_prefetchi" and working bit manipulation clmul builtin
      	argument/return types.
      	* config/riscv/riscv-ftypes.def: Make bit manipulation, round
      	number and shift amount types unsigned.
      	* config/riscv/riscv-scalar-crypto.def: Ditto.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/riscv/zbc32.c: Make signed type to unsigned.
      	* gcc.target/riscv/zbc64.c: Ditto.
      	* gcc.target/riscv/zbkb32.c: Ditto.
      	* gcc.target/riscv/zbkb64.c: Ditto.
      	* gcc.target/riscv/zbkc32.c: Ditto.
      	* gcc.target/riscv/zbkc64.c: Ditto.
      	* gcc.target/riscv/zbkx32.c: Ditto.
      	* gcc.target/riscv/zbkx64.c: Ditto.
      	* gcc.target/riscv/zknd32.c: Ditto.
      	* gcc.target/riscv/zknd64.c: Ditto.
      	* gcc.target/riscv/zkne32.c: Ditto.
      	* gcc.target/riscv/zkne64.c: Ditto.
      	* gcc.target/riscv/zknh-sha256.c: Ditto.
      	* gcc.target/riscv/zknh-sha512-32.c: Ditto.
      	* gcc.target/riscv/zknh-sha512-64.c: Ditto.
      	* gcc.target/riscv/zksed32.c: Ditto.
      	* gcc.target/riscv/zksed64.c: Ditto.
      	* gcc.target/riscv/zksh32.c: Ditto.
      	* gcc.target/riscv/zksh64.c: Ditto.
      a1751681
    • Pan Li's avatar
      RISC-V: Support FP SGNJX autovec for VLS mode · 23224f06
      Pan Li authored
      
      This patch would like to allow the VLS mode autovec for the
      floating-point binary operation SGNJX.
      
      Give sample code as below:
      
      void
      test (float * restrict out, float * restrict in1, float * restrict in2)
      {
        for (int i = 0; i < 128; i++)
          out[i] = in1[i] * copysignf (1.0, in2[i]);
      }
      
      Before this patch:
      test:
        li      a5,128
        vsetvli zero,a5,e32,m1,ta,ma
        vle32.v v2,0(a1)
        lui     a4,%hi(.LC0)
        flw     fa5,%lo(.LC0)(a4)
        vfmv.v.f        v1,fa5
        vle32.v v3,0(a2)
        vfsgnj.vv       v1,v1,v3
        vfmul.vv        v1,v1,v2
        vse32.v v1,0(a0)
        ret
      
      After this patch:
      test:
        li      a5,128
        vsetvli zero,a5,e32,m1,ta,ma
        vle32.v v1,0(a1)
        vle32.v v2,0(a2)
        vfsgnjx.vv      v1,v1,v2
        vse32.v v1,0(a0)
        ret
      
      This SGNJX autovec acts on function call copysignf/copysignf
      in math.h too. And it depends on the option -ffast-math.
      
      gcc/ChangeLog:
      
      	* config/riscv/autovec-vls.md (xorsign<mode>3): New pattern.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/riscv/rvv/autovec/vls/def.h: New macro.
      	* gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-1.c: New test.
      	* gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-2.c: New test.
      
      Signed-off-by: default avatarPan Li <pan2.li@intel.com>
      23224f06
    • GCC Administrator's avatar
      Daily bump. · 37bbfd1c
      GCC Administrator authored
      37bbfd1c
  4. Sep 15, 2023
    • Jonathan Wakely's avatar
      libstdc++: Do not require effective target pthread for some tests · 0ff31212
      Jonathan Wakely authored
      We can remove { dg-require-effective-target pthread } and allow these
      tests non-pthread targets and conditionally adding -pthread only for
      pthread targets.
      
      Also remove the { dg-options "-std=gnu++20" } that is no longer needed.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not
      	restrict to pthreads targets.
      	* testsuite/30_threads/jthread/3.cc: Likewise.
      	* testsuite/30_threads/semaphore/100806.cc: Likewise.
      	* testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
      	* testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
      	* testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise.
      0ff31212
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from remaining tests · 8ccae163
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/18_support/coroutines/95917.cc: Remove dg-options
      	-std=gnu++2a.
      	* testsuite/18_support/coroutines/hash.cc: Likewise.
      	* testsuite/18_support/coroutines/lwg3460.cc: Likewise.
      	* testsuite/18_support/destroying_delete.cc: Likewise.
      	* testsuite/18_support/source_location/1.cc: Likewise.
      	* testsuite/18_support/source_location/consteval.cc: Likewise.
      	* testsuite/18_support/source_location/version.cc: Likewise.
      	* testsuite/19_diagnostics/error_category/operators/three_way.cc:
      	Likewise.
      	* testsuite/19_diagnostics/error_code/operators/three_way.cc:
      	Likewise.
      	* testsuite/19_diagnostics/error_condition/operators/three_way.cc:
      	Likewise.
      	* testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
      	* testsuite/26_numerics/adjacent_difference/lwg2055.cc:
      	Likewise.
      	* testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
      	Likewise.
      	* testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
      	Likewise.
      	* testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
      	Likewise.
      	* testsuite/28_regex/sub_match/compare_c++20.cc: Likewise.
      	* testsuite/experimental/filesystem/iterators/106201.cc:
      	Likewise.
      	* testsuite/experimental/scopeguard/exit.cc: Likewise.
      	* testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
      8ccae163
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from 30_threads tests · 4be56e29
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/30_threads/barrier/1.cc: Remove dg-options
      	-std=gnu++20.
      	* testsuite/30_threads/barrier/2.cc: Likewise.
      	* testsuite/30_threads/barrier/arrive.cc: Likewise.
      	* testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
      	* testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
      	* testsuite/30_threads/barrier/completion.cc: Likewise.
      	* testsuite/30_threads/condition_variable/members/clock_neg.cc:
      	Likewise.
      	* testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
      	Likewise.
      	* testsuite/30_threads/condition_variable_any/stop_token/1.cc:
      	Likewise.
      	* testsuite/30_threads/condition_variable_any/stop_token/2.cc:
      	Likewise.
      	* testsuite/30_threads/future/members/clock_neg.cc: Likewise.
      	* testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise.
      	* testsuite/30_threads/headers/thread/types_std_c++20.cc:
      	Likewise.
      	* testsuite/30_threads/jthread/1.cc: Likewise.
      	* testsuite/30_threads/jthread/100612.cc: Likewise.
      	* testsuite/30_threads/jthread/95989.cc: Likewise.
      	* testsuite/30_threads/jthread/jthread.cc: Likewise.
      	* testsuite/30_threads/jthread/version.cc: Likewise.
      	* testsuite/30_threads/latch/1.cc: Likewise.
      	* testsuite/30_threads/latch/2.cc: Likewise.
      	* testsuite/30_threads/latch/3.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc:
      	Likewise.
      	* testsuite/30_threads/semaphore/1.cc: Likewise.
      	* testsuite/30_threads/semaphore/2.cc: Likewise.
      	* testsuite/30_threads/semaphore/least_max_value_neg.cc:
      	Likewise.
      	* testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/clock_neg.cc:
      	Likewise.
      	* testsuite/30_threads/shared_lock/locking/clock_neg.cc:
      	Likewise.
      	* testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
      	Likewise.
      	* testsuite/30_threads/stop_token/1.cc: Likewise.
      	* testsuite/30_threads/stop_token/2.cc: Likewise.
      	* testsuite/30_threads/stop_token/stop_callback.cc: Likewise.
      	* testsuite/30_threads/stop_token/stop_callback/deadlock.cc:
      	Likewise.
      	* testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
      	Likewise.
      	* testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc:
      	Likewise.
      	* testsuite/30_threads/stop_token/stop_callback/invoke.cc:
      	Likewise.
      	* testsuite/30_threads/stop_token/stop_source.cc: Likewise.
      	* testsuite/30_threads/stop_token/stop_source/assign.cc:
      	Likewise.
      	* testsuite/30_threads/stop_token/stop_token.cc: Likewise.
      	* testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
      	Likewise.
      	* testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc:
      	Likewise.
      	* testsuite/30_threads/unique_lock/locking/clock_neg.cc:
      	Likewise.
      4be56e29
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from 27_io tests · f1b06f57
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc:
      	Remove dg-options -std=gnu++2a.
      	* testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
      	Likewise.
      	* testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
      	Likewise.
      	* testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
      	Likewise.
      	* testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise.
      	* testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
      	Likewise.
      	* testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise.
      	* testsuite/27_io/basic_istringstream/str/wchar_t/2.cc:
      	Likewise.
      	* testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise.
      	* testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
      	Likewise.
      	* testsuite/27_io/basic_ostream/emit/1.cc: Likewise.
      	* testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
      	Likewise.
      	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
      	Likewise.
      	* testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
      	* testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
      	Likewise.
      	* testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise.
      	* testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc:
      	Likewise.
      	* testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
      	* testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
      	Likewise.
      	* testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise.
      	* testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise.
      	* testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise.
      	* testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise.
      	* testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
      	* testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
      	* testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
      	* testsuite/27_io/basic_stringstream/cons/char/97719.cc:
      	Likewise.
      	* testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
      	Likewise.
      	* testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise.
      	* testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc:
      	Likewise.
      	* testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
      	* testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
      	Likewise.
      	* testsuite/27_io/basic_syncbuf/1.cc: Likewise.
      	* testsuite/27_io/basic_syncbuf/2.cc: Likewise.
      	* testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise.
      	* testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise.
      	* testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise.
      	* testsuite/27_io/basic_syncstream/1.cc: Likewise.
      	* testsuite/27_io/basic_syncstream/2.cc: Likewise.
      	* testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise.
      	* testsuite/27_io/basic_syncstream/requirements/types.cc:
      	Likewise.
      	* testsuite/27_io/filesystem/iterators/106201.cc: Likewise.
      	* testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise.
      	* testsuite/27_io/filesystem/path/factory/u8path-depr.cc:
      	Likewise.
      	* testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc:
      	Likewise.
      f1b06f57
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from 26_numerics tests · bb2dd761
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/26_numerics/accumulate/constexpr.cc: Remove
      	dg-options -std=gnu++2a.
      	* testsuite/26_numerics/accumulate/lwg2055.cc: Likewise.
      	* testsuite/26_numerics/adjacent_difference/constexpr.cc:
      	Likewise.
      	* testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc:
      	Likewise.
      	* testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
      	* testsuite/26_numerics/bit/header-2.cc: Likewise.
      	* testsuite/26_numerics/bit/header.cc: Likewise.
      	* testsuite/26_numerics/complex/1.cc: Likewise.
      	* testsuite/26_numerics/complex/2.cc: Likewise.
      	* testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc:
      	Likewise.
      	* testsuite/26_numerics/complex/operators/more_constexpr.cc:
      	Likewise.
      	* testsuite/26_numerics/complex/requirements/more_constexpr.cc:
      	Likewise.
      	* testsuite/26_numerics/complex/value_operations/more_constexpr.cc:
      	Likewise.
      	* testsuite/26_numerics/endian/1.cc: Likewise.
      	* testsuite/26_numerics/endian/2.cc: Likewise.
      	* testsuite/26_numerics/endian/3.cc: Likewise.
      	* testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
      	* testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
      	* testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
      	* testsuite/26_numerics/inner_product/lwg2055.cc: Likewise.
      	* testsuite/26_numerics/iota/constexpr.cc: Likewise.
      	* testsuite/26_numerics/lerp/1.cc: Likewise.
      	* testsuite/26_numerics/lerp/constexpr.cc: Likewise.
      	* testsuite/26_numerics/lerp/version.cc: Likewise.
      	* testsuite/26_numerics/midpoint/floating.cc: Likewise.
      	* testsuite/26_numerics/midpoint/integral.cc: Likewise.
      	* testsuite/26_numerics/midpoint/pointer.cc: Likewise.
      	* testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise.
      	* testsuite/26_numerics/midpoint/version.cc: Likewise.
      	* testsuite/26_numerics/numbers/1.cc: Likewise.
      	* testsuite/26_numerics/numbers/2.cc: Likewise.
      	* testsuite/26_numerics/numbers/3.cc: Likewise.
      	* testsuite/26_numerics/numbers/float128.cc: Likewise.
      	* testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise.
      	* testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
      	* testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise.
      	* testsuite/26_numerics/random/concept.cc: Likewise.
      	* testsuite/26_numerics/reduce/constexpr.cc: Likewise.
      	* testsuite/26_numerics/slice/compare.cc: Likewise.
      	* testsuite/26_numerics/transform_exclusive_scan/constexpr.cc:
      	Likewise.
      	* testsuite/26_numerics/transform_inclusive_scan/constexpr.cc:
      	Likewise.
      	* testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.
      bb2dd761
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from 24_iterators tests · 762baaf0
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/24_iterators/aliases.cc: Remove dg-options
      	-std=gnu++2a.
      	* testsuite/24_iterators/associated_types/incrementable.traits.cc:
      	Likewise.
      	* testsuite/24_iterators/associated_types/iterator.traits.cc:
      	Likewise.
      	* testsuite/24_iterators/associated_types/readable.traits.cc:
      	Likewise.
      	* testsuite/24_iterators/back_insert_iterator/constexpr.cc:
      	Likewise.
      	* testsuite/24_iterators/back_insert_iterator/pr93884.cc:
      	Likewise.
      	* testsuite/24_iterators/bidirectional/concept.cc: Likewise.
      	* testsuite/24_iterators/common_iterator/1.cc: Likewise.
      	* testsuite/24_iterators/common_iterator/100823.cc: Likewise.
      	* testsuite/24_iterators/common_iterator/2.cc: Likewise.
      	* testsuite/24_iterators/contiguous/concept.cc: Likewise.
      	* testsuite/24_iterators/contiguous/tag.cc: Likewise.
      	* testsuite/24_iterators/counted_iterator/1.cc: Likewise.
      	* testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise.
      	* testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise.
      	* testsuite/24_iterators/customization_points/92894.cc:
      	Likewise.
      	* testsuite/24_iterators/customization_points/iter_move.cc:
      	Likewise.
      	* testsuite/24_iterators/customization_points/iter_swap.cc:
      	Likewise.
      	* testsuite/24_iterators/customization_points/lwg3420.cc:
      	Likewise.
      	* testsuite/24_iterators/forward/concept.cc: Likewise.
      	* testsuite/24_iterators/front_insert_iterator/constexpr.cc:
      	Likewise.
      	* testsuite/24_iterators/front_insert_iterator/pr93884.cc:
      	Likewise.
      	* testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
      	Likewise.
      	* testsuite/24_iterators/indirect_callable/92894.cc: Likewise.
      	* testsuite/24_iterators/indirect_callable/projected-adl.cc:
      	Likewise.
      	* testsuite/24_iterators/indirect_callable/projected.cc:
      	Likewise.
      	* testsuite/24_iterators/input/concept.cc: Likewise.
      	* testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
      	* testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
      	Likewise.
      	* testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise.
      	* testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
      	Likewise.
      	* testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
      	Likewise.
      	* testsuite/24_iterators/move_iterator/cust.cc: Likewise.
      	* testsuite/24_iterators/move_iterator/dr3435.cc: Likewise.
      	* testsuite/24_iterators/move_iterator/input_iterator.cc:
      	Likewise.
      	* testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
      	* testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise.
      	* testsuite/24_iterators/move_iterator/move_only.cc: Likewise.
      	* testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise.
      	* testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
      	Likewise.
      	* testsuite/24_iterators/move_iterator/sentinel.cc: Likewise.
      	* testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise.
      	* testsuite/24_iterators/output/concept.cc: Likewise.
      	* testsuite/24_iterators/random_access/concept.cc: Likewise.
      	* testsuite/24_iterators/range_access/range_access_cpp20.cc:
      	Likewise.
      	* testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
      	Likewise.
      	* testsuite/24_iterators/range_operations/100768.cc: Likewise.
      	* testsuite/24_iterators/range_operations/advance.cc: Likewise.
      	* testsuite/24_iterators/range_operations/advance_overflow.cc:
      	Likewise.
      	* testsuite/24_iterators/range_operations/distance.cc: Likewise.
      	* testsuite/24_iterators/range_operations/lwg3392.cc: Likewise.
      	* testsuite/24_iterators/range_operations/next.cc: Likewise.
      	* testsuite/24_iterators/range_operations/prev.cc: Likewise.
      	* testsuite/24_iterators/reverse_iterator/cust.cc: Likewise.
      	* testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise.
      	* testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
      	Likewise.
      762baaf0
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from 23_containers tests · b9a2dce8
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/23_containers/array/comparison_operators/96851.cc:
      	Remove dg-options -std=gnu++2a.
      	* testsuite/23_containers/array/comparison_operators/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/array/creation/1.cc: Likewise.
      	* testsuite/23_containers/array/creation/110167.cc: Likewise.
      	* testsuite/23_containers/array/creation/2.cc: Likewise.
      	* testsuite/23_containers/array/creation/3_neg.cc: Likewise.
      	* testsuite/23_containers/array/requirements/constexpr_fill.cc:
      	Likewise.
      	* testsuite/23_containers/array/requirements/constexpr_swap.cc:
      	Likewise.
      	* testsuite/23_containers/deque/48101-3_neg.cc: Likewise.
      	* testsuite/23_containers/deque/erasure.cc: Likewise.
      	* testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/deque/operators/cmp_c++20.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise.
      	* testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise.
      	* testsuite/23_containers/forward_list/erasure.cc: Likewise.
      	* testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc:
      	Likewise.
      	* testsuite/23_containers/list/48101-3_neg.cc: Likewise.
      	* testsuite/23_containers/list/cmp_c++20.cc: Likewise.
      	* testsuite/23_containers/list/erasure.cc: Likewise.
      	* testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/list/operations/remove_cxx20_return.cc:
      	Likewise.
      	* testsuite/23_containers/list/operations/unique_cxx20_return.cc:
      	Likewise.
      	* testsuite/23_containers/map/48101-3_neg.cc: Likewise.
      	* testsuite/23_containers/map/erasure.cc: Likewise.
      	* testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/map/operations/contains.cc: Likewise.
      	* testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise.
      	* testsuite/23_containers/multimap/48101-3_neg.cc: Likewise.
      	* testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/multimap/operations/contains.cc:
      	Likewise.
      	* testsuite/23_containers/multimap/operators/cmp_c++20.cc:
      	Likewise.
      	* testsuite/23_containers/multiset/48101-3_neg.cc: Likewise.
      	* testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/multiset/operations/contains.cc:
      	Likewise.
      	* testsuite/23_containers/multiset/operators/cmp_c++20.cc:
      	Likewise.
      	* testsuite/23_containers/priority_queue/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/queue/92878_92947.cc: Likewise.
      	* testsuite/23_containers/queue/cmp_c++20.cc: Likewise.
      	* testsuite/23_containers/set/48101-3_neg.cc: Likewise.
      	* testsuite/23_containers/set/erasure.cc: Likewise.
      	* testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/set/operations/contains.cc: Likewise.
      	* testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise.
      	* testsuite/23_containers/span/1.cc: Likewise.
      	* testsuite/23_containers/span/101411.cc: Likewise.
      	* testsuite/23_containers/span/2.cc: Likewise.
      	* testsuite/23_containers/span/deduction.cc: Likewise.
      	* testsuite/23_containers/span/explicit.cc: Likewise.
      	* testsuite/23_containers/span/layout_compat.cc: Likewise.
      	* testsuite/23_containers/span/lwg3255.cc: Likewise.
      	* testsuite/23_containers/span/nothrow_cons.cc: Likewise.
      	* testsuite/23_containers/span/trivially_copyable.cc: Likewise.
      	* testsuite/23_containers/stack/92878_92947.cc: Likewise.
      	* testsuite/23_containers/stack/cmp_c++20.cc: Likewise.
      	* testsuite/23_containers/unordered_map/48101-3_neg.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_map/erasure.cc: Likewise.
      	* testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_map/operations/1.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_map/operations/contains.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multimap/48101-3_neg.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multimap/operations/1.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multimap/operations/contains.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multiset/48101-3_neg.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multiset/operations/1.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multiset/operations/contains.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/48101-3_neg.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/erasure.cc: Likewise.
      	* testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/operations/1.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/operations/contains.cc:
      	Likewise.
      	* testsuite/23_containers/vector/48101-3_neg.cc: Likewise.
      	* testsuite/23_containers/vector/bool/capacity/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise.
      	* testsuite/23_containers/vector/bool/cons/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/bool/element_access/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/bool/iterator_c++20.cc:
      	Likewise.
      	* testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/bool/modifiers/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/capacity/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
      	* testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
      	* testsuite/23_containers/vector/data_access/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/element_access/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/erasure.cc: Likewise.
      	* testsuite/23_containers/vector/modifiers/assign/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/modifiers/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
      	Likewise.
      	* testsuite/23_containers/vector/modifiers/swap/constexpr.cc:
      	Likewise.
      	* testsuite/23_containers/vector/requirements/version.cc:
      	Likewise.
      b9a2dce8
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from 21_strings tests · d8c446a1
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/21_strings/basic_string/cons/char/105995.cc: Remove
      	dg-options -std=gnu++20.
      	* testsuite/21_strings/basic_string/cons/char/constexpr.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/erasure.cc: Likewise.
      	* testsuite/21_strings/basic_string/hash/hash_char8_t.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/literals/constexpr.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/modifiers/constexpr.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/operations/ends_with/char.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/operations/starts_with/char.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/cons/char/range.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/ends_with/char.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/starts_with/char.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
      	Likewise.
      	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
      	Likewise.
      d8c446a1
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from 20_utils tests · 6d0b43f5
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/20_util/allocator/105975.cc: Remove dg-options
      	-std=gnu++2a.
      	* testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
      	* testsuite/20_util/allocator/requirements/constexpr.cc:
      	Likewise.
      	* testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
      	Likewise.
      	* testsuite/20_util/allocator_traits/header-2.cc: Likewise.
      	* testsuite/20_util/allocator_traits/header.cc: Likewise.
      	* testsuite/20_util/allocator_traits/members/92878_92947.cc:
      	Likewise.
      	* testsuite/20_util/any/assign/92878_92947.cc: Likewise.
      	* testsuite/20_util/any/cons/92878_92947.cc: Likewise.
      	* testsuite/20_util/assume_aligned/1.cc: Likewise.
      	* testsuite/20_util/assume_aligned/2_neg.cc: Likewise.
      	* testsuite/20_util/assume_aligned/3.cc: Likewise.
      	* testsuite/20_util/assume_aligned/97132.cc: Likewise.
      	* testsuite/20_util/bind/constexpr.cc: Likewise.
      	* testsuite/20_util/bitset/operations/96303.cc: Likewise.
      	* testsuite/20_util/common_reference/100894.cc: Likewise.
      	* testsuite/20_util/common_reference/requirements/alias_decl.cc:
      	Likewise.
      	* testsuite/20_util/common_reference/requirements/explicit_instantiation.cc:
      	Likewise.
      	* testsuite/20_util/common_reference/requirements/typedefs.cc:
      	Likewise.
      	* testsuite/20_util/duration/comparison_operators/three_way.cc:
      	Likewise.
      	* testsuite/20_util/exchange/constexpr.cc: Likewise.
      	* testsuite/20_util/exchange/noexcept.cc: Likewise.
      	* testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise.
      	* testsuite/20_util/from_chars/compare.cc: Likewise.
      	* testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
      	* testsuite/20_util/function_objects/bind_front/107784.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/bind_front/111327.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
      	* testsuite/20_util/function_objects/bind_front/97101.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/bind_front/constexpr.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/constexpr_searcher.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/identity/1.cc: Likewise.
      	* testsuite/20_util/function_objects/invoke/constexpr.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/mem_fn/constexpr.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/not_fn/constexpr.cc:
      	Likewise.
      	* testsuite/20_util/integer_comparisons/1.cc: Likewise.
      	* testsuite/20_util/integer_comparisons/2.cc: Likewise.
      	* testsuite/20_util/integer_comparisons/equal.cc: Likewise.
      	* testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise.
      	* testsuite/20_util/integer_comparisons/greater.cc: Likewise.
      	* testsuite/20_util/integer_comparisons/greater_equal.cc:
      	Likewise.
      	* testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
      	Likewise.
      	* testsuite/20_util/integer_comparisons/greater_neg.cc:
      	Likewise.
      	* testsuite/20_util/integer_comparisons/in_range.cc: Likewise.
      	* testsuite/20_util/integer_comparisons/in_range_neg.cc:
      	Likewise.
      	* testsuite/20_util/integer_comparisons/less.cc: Likewise.
      	* testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
      	* testsuite/20_util/integer_comparisons/less_equal_neg.cc:
      	Likewise.
      	* testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
      	* testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
      	* testsuite/20_util/integer_comparisons/not_equal_neg.cc:
      	Likewise.
      	* testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc:
      	Likewise.
      	* testsuite/20_util/is_bounded_array/requirements/typedefs.cc:
      	Likewise.
      	* testsuite/20_util/is_bounded_array/value.cc: Likewise.
      	* testsuite/20_util/is_constant_evaluated/1.cc: Likewise.
      	* testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise.
      	* testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
      	* testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
      	Likewise.
      	* testsuite/20_util/is_layout_compatible/value.cc: Likewise.
      	* testsuite/20_util/is_layout_compatible/version.cc: Likewise.
      	* testsuite/20_util/is_nothrow_constructible/value_c++20.cc:
      	Likewise.
      	* testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc:
      	Likewise.
      	* testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc:
      	Likewise.
      	* testsuite/20_util/is_nothrow_convertible/value.cc: Likewise.
      	* testsuite/20_util/is_pod/deprecated-2a.cc: Likewise.
      	* testsuite/20_util/is_pointer_interconvertible/value.cc:
      	Likewise.
      	* testsuite/20_util/is_pointer_interconvertible/version.cc:
      	Likewise.
      	* testsuite/20_util/is_pointer_interconvertible/with_class.cc:
      	Likewise.
      	* testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc:
      	Likewise.
      	* testsuite/20_util/is_unbounded_array/requirements/typedefs.cc:
      	Likewise.
      	* testsuite/20_util/is_unbounded_array/value.cc: Likewise.
      	* testsuite/20_util/optional/assignment/92878_92947.cc:
      	Likewise.
      	* testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/assign.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/modifiers.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/swap.cc: Likewise.
      	* testsuite/20_util/optional/relops/96269.cc: Likewise.
      	* testsuite/20_util/optional/relops/three_way.cc: Likewise.
      	* testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc:
      	Likewise.
      	* testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
      	* testsuite/20_util/pair/constexpr_assign.cc: Likewise.
      	* testsuite/20_util/pair/constexpr_swap.cc: Likewise.
      	* testsuite/20_util/pair/requirements/structural.cc: Likewise.
      	* testsuite/20_util/pointer_traits/pointer_to_constexpr.cc:
      	Likewise.
      	* testsuite/20_util/polymorphic_allocator/allocate_object.cc:
      	Likewise.
      	* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc:
      	Likewise.
      	* testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise.
      	* testsuite/20_util/reference_wrapper/constexpr.cc: Likewise.
      	* testsuite/20_util/reference_wrapper/incomplete.cc: Likewise.
      	* testsuite/20_util/remove_cvref/requirements/alias_decl.cc:
      	Likewise.
      	* testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
      	Likewise.
      	* testsuite/20_util/remove_cvref/value.cc: Likewise.
      	* testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:
      	Likewise.
      	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
      	Likewise.
      	* testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
      	* testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
      	Likewise.
      	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
      	* testsuite/20_util/shared_ptr/creation/92878_92947.cc:
      	Likewise.
      	* testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
      	* testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
      	* testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
      	* testsuite/20_util/time_point/4.cc: Likewise.
      	* testsuite/20_util/time_point/comparison_operators/three_way.cc:
      	Likewise.
      	* testsuite/20_util/to_address/1.cc: Likewise.
      	* testsuite/20_util/to_address/1_neg.cc: Likewise.
      	* testsuite/20_util/to_address/debug.cc: Likewise.
      	* testsuite/20_util/to_address/lwg3545.cc: Likewise.
      	* testsuite/20_util/to_chars/compare.cc: Likewise.
      	* testsuite/20_util/tuple/comparison_operators/three_way.cc:
      	Likewise.
      	* testsuite/20_util/tuple/cons/102270.cc: Likewise.
      	* testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
      	Likewise.
      	* testsuite/20_util/tuple/constexpr_swap.cc: Likewise.
      	* testsuite/20_util/type_identity/requirements/alias_decl.cc:
      	Likewise.
      	* testsuite/20_util/type_identity/requirements/explicit_instantiation.cc:
      	Likewise.
      	* testsuite/20_util/type_identity/requirements/typedefs.cc:
      	Likewise.
      	* testsuite/20_util/typeindex/comparison_operators_c++20.cc:
      	Likewise.
      	* testsuite/20_util/unique_ptr/comparison/compare_c++20.cc:
      	Likewise.
      	* testsuite/20_util/unique_ptr/creation/92878_92947.cc:
      	Likewise.
      	* testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
      	Likewise.
      	* testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
      	Likewise.
      	* testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise.
      	* testsuite/20_util/unwrap_reference/1.cc: Likewise.
      	* testsuite/20_util/unwrap_reference/2.cc: Likewise.
      	* testsuite/20_util/unwrap_reference/3.cc: Likewise.
      	* testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
      	* testsuite/20_util/uses_allocator/lwg3527.cc: Likewise.
      	* testsuite/20_util/uses_allocator/make_obj.cc: Likewise.
      	* testsuite/20_util/uses_allocator/uninitialized_construct.cc:
      	Likewise.
      	* testsuite/20_util/variant/92878_92947.cc: Likewise.
      	* testsuite/20_util/variant/95915.cc: Likewise.
      	* testsuite/20_util/variant/constexpr.cc: Likewise.
      	* testsuite/20_util/variant/relops/three_way.cc: Likewise.
      	* testsuite/20_util/variant/visit_neg.cc: Likewise.
      	* testsuite/20_util/variant/visit_r.cc: Likewise.
      	* testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
      6d0b43f5
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from <compare> tests · 771752c4
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/18_support/comparisons/algorithms/fallback.cc:
      	Remove dg-options -std=gnu++2a.
      	* testsuite/18_support/comparisons/algorithms/partial_order.cc:
      	Likewise.
      	* testsuite/18_support/comparisons/algorithms/strong_order.cc:
      	Likewise.
      	* testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
      	Likewise.
      	* testsuite/18_support/comparisons/algorithms/weak_order.cc:
      	Likewise.
      	* testsuite/18_support/comparisons/categories/94565.cc:
      	Likewise.
      	* testsuite/18_support/comparisons/categories/partialord.cc:
      	Likewise.
      	* testsuite/18_support/comparisons/categories/strongord.cc:
      	Likewise.
      	* testsuite/18_support/comparisons/categories/weakord.cc:
      	Likewise.
      	* testsuite/18_support/comparisons/categories/zero_neg.cc:
      	Likewise.
      	* testsuite/18_support/comparisons/common/1.cc: Likewise.
      	* testsuite/18_support/comparisons/object/93479.cc: Likewise.
      	* testsuite/18_support/comparisons/object/lwg3530.cc: Likewise.
      771752c4
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from <atomic> tests · 1b13c424
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/29_atomics/atomic/compare_exchange_padding.cc:
      	Remove dg-options -std=gnu++2a.
      	* testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
      	* testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
      	* testsuite/29_atomics/atomic/requirements/types_neg.cc:
      	Likewise.
      	* testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
      	* testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise.
      	* testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
      	* testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
      	* testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise.
      	* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
      	* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
      	* testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise.
      	* testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise.
      	* testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
      	* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
      	* testsuite/29_atomics/atomic_float/1.cc: Likewise.
      	* testsuite/29_atomics/atomic_float/95282.cc: Likewise.
      	* testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
      	* testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
      	* testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
      	* testsuite/29_atomics/atomic_integral/cons/value_init.cc:
      	Likewise.
      	* testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
      	* testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
      	Likewise.
      	* testsuite/29_atomics/atomic_ref/deduction.cc: Likewise.
      	* testsuite/29_atomics/atomic_ref/float.cc: Likewise.
      	* testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
      	* testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
      	* testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
      	* testsuite/29_atomics/atomic_ref/requirements.cc: Likewise.
      	* testsuite/29_atomics/headers/atomic/types_std_c++20.cc:
      	Likewise.
      	* testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
      	Likewise.
      	* testsuite/29_atomics/headers/atomic/types_std_c++2a.cc:
      	Likewise.
      	* testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
      	Likewise.
      1b13c424
    • Jonathan Wakely's avatar
      libstdc++: Add missing tests for std::basic_filebuf::native_handle() · 6693bd90
      Jonathan Wakely authored
      I forgot to 'git add' these files in the commit that added the new
      member function to basic_filebuf.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test.
      	* testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test.
      6693bd90
    • Jonathan Wakely's avatar
      libstdc++: Implement C++26 native handles for file streams (P1759R6) · c4baeaec
      Jonathan Wakely authored
      The new __basic_file::native_handle() function can be added for C++11
      and above, because the names "native_handle" and "native_handle_type"
      are already reserved since C++11. Exporting those symbols from the
      shared library does no harm, even if the feature gets dropped before the
      C++23 standard is final.
      
      The new member functions of std::fstream etc. are only declared for
      C++26 and so are not instantiated in src/c++11/fstream-inst.cc. Declare
      them with the always_inline attribute so that no symbol definitions are
      needed in the library (we can change this later when C++26 support is
      less experimental).
      
      libstdc++-v3/ChangeLog:
      
      	* acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New
      	macro.
      	* config.h.in: Regenerate.
      	* config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new
      	basic_filebuf members.
      	* config/io/basic_file_stdio.cc (__basic_file::native_handle):
      	Define new function.
      	* config/io/basic_file_stdio.h (__basic_file::native_handle):
      	Declare new function.
      	* configure: Regenerate.
      	* configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES.
      	* include/bits/version.def (fstream_native_handles): New macro.
      	* include/bits/version.h: Regenerate.
      	* include/std/fstream (basic_filebuf::native_handle)
      	(basic_fstream::native_handle, basic_ifstream::native_handle)
      	(basic_ofstream::native_handle): New functions.
      	* src/c++11/Makefile.am: Move compilation of basic_file.cc,
      	locale_init.cc and localename.cc to here.
      	* src/c++11/Makefile.in: Regenerate.
      	* src/c++98/locale_init.cc: Moved to...
      	* src/c++11/locale_init.cc: ...here.
      	* src/c++98/localename.cc: Moved to...
      	* src/c++11/localename.cc: ...here.
      	* src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc
      	and localename.cc from here.
      	* src/c++98/Makefile.in: Regenerate.
      	* testsuite/27_io/basic_filebuf/native_handle/version.cc: New test.
      	* testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test.
      	* testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test.
      	* testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test.
      	* testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test.
      	* testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test.
      	* testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test.
      c4baeaec
    • Jonathan Wakely's avatar
      libstdc++: Add log line to testsuite output · a923c529
      Jonathan Wakely authored
      Write a line to the log when using a testsuite_files file.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/libstdc++-dg/conformance.exp: Add log line when
      	using testsuite_files.
      a923c529
    • Jonathan Wakely's avatar
      libstdc++: Simplify dejagnu directives for some tests using threads · 8cd5e57b
      Jonathan Wakely authored
      Replace dg-require-effective-target directives with a target selector on
      the dg-do directive.
      
      We can also remove { dg-require-effective-target pthread } and the
      associated { dg-options "-pthread" } by allowing it to run on
      non-pthread targets and conditionally adding -pthread only for pthread
      targets.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg
      	directives.
      	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
      	Likewise.
      	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
      	Likewise.
      	* testsuite/20_util/synchronized_pool_resource/allocate.cc:
      	Likewise.
      	* testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
      	Likewise.
      	* testsuite/20_util/synchronized_pool_resource/cons.cc:
      	Likewise.
      	* testsuite/20_util/synchronized_pool_resource/cons_single.cc:
      	Likewise.
      	* testsuite/20_util/synchronized_pool_resource/is_equal.cc:
      	Likewise.
      	* testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
      	Likewise.
      	* testsuite/20_util/synchronized_pool_resource/options.cc:
      	Likewise.
      	* testsuite/20_util/synchronized_pool_resource/release.cc:
      	Likewise.
      	* testsuite/20_util/synchronized_pool_resource/release_single.cc:
      	Likewise.
      	* testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
      	Likewise.
      	* testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
      	Likewise.
      	* testsuite/30_threads/stop_token/stop_callback/destroy.cc:
      	Likewise.
      8cd5e57b
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++2a" from XFAIL std::span tests · ed8fcd0d
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      We can also combine the { dg-require-effective-target c++2a } directive
      with the dg-do selector.
      
      We need to add the no_pch options for tests that define
      _GLIBCXX_ASSERTIONS in the test, otherwise the PCH is included without
      that defined.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/23_containers/span/back_assert_neg.cc: Remove
      	dg-options and add effective target selector to dg-do. Add
      	no_pch.
      	* testsuite/23_containers/span/back_neg.cc: Likewise.
      	* testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise.
      	* testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise.
      	* testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
      	* testsuite/23_containers/span/first_assert_neg.cc: Likewise.
      	* testsuite/23_containers/span/first_neg.cc: Likewise.
      	* testsuite/23_containers/span/front_assert_neg.cc: Likewise.
      	* testsuite/23_containers/span/front_neg.cc: Likewise.
      	* testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
      	* testsuite/23_containers/span/index_op_neg.cc: Likewise.
      	* testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
      	* testsuite/23_containers/span/last_assert_neg.cc: Likewise.
      	* testsuite/23_containers/span/last_neg.cc: Likewise.
      	* testsuite/23_containers/span/subspan_2_assert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/span/subspan_3_assert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/span/subspan_4_assert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/span/subspan_5_assert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/span/subspan_6_assert_neg.cc:
      	Likewise.
      	* testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
      	* testsuite/23_containers/span/subspan_neg.cc: Likewise.
      	* testsuite/24_iterators/range_operations/advance_debug_neg.cc:
      	Likewise.
      ed8fcd0d
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++23" from remaining tests · 7810fb3a
      Jonathan Wakely authored
      The testsuite will automatically select C++23 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++26
      as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove
      	dg-options.
      	* testsuite/18_support/headers/stdfloat/types_std.cc: Likewise.
      	* testsuite/18_support/type_info/constexpr.cc: Likewise.
      	* testsuite/19_diagnostics/stacktrace/current.cc: Likewise.
      	* testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
      	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
      	* testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
      	* testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
      	* testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise.
      	* testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise.
      	* testsuite/20_util/bitset/access/constexpr.cc: Likewise.
      	* testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
      	* testsuite/20_util/bitset/count/constexpr.cc: Likewise.
      	* testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
      	* testsuite/20_util/bitset/operations/constexpr_c++23.cc:
      	Likewise.
      	* testsuite/20_util/bitset/version.cc: Likewise.
      	* testsuite/20_util/from_chars/8.cc: Likewise.
      	* testsuite/20_util/from_chars/constexpr.cc: Likewise.
      	* testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
      	* testsuite/20_util/function_objects/invoke/4.cc: Likewise.
      	* testsuite/20_util/function_objects/invoke/dangling_ref.cc:
      	Likewise.
      	* testsuite/20_util/is_scoped_enum/value.cc: Likewise.
      	* testsuite/20_util/is_scoped_enum/version.cc: Likewise.
      	* testsuite/20_util/move_only_function/call.cc: Likewise.
      	* testsuite/20_util/move_only_function/cons.cc: Likewise.
      	* testsuite/20_util/move_only_function/move.cc: Likewise.
      	* testsuite/20_util/move_only_function/version.cc: Likewise.
      	* testsuite/20_util/optional/monadic/and_then.cc: Likewise.
      	* testsuite/20_util/optional/monadic/or_else.cc: Likewise.
      	* testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise.
      	* testsuite/20_util/optional/monadic/pr109242.cc: Likewise.
      	* testsuite/20_util/optional/monadic/transform.cc: Likewise.
      	* testsuite/20_util/pair/p2321r2.cc: Likewise.
      	* testsuite/20_util/reference_from_temporary/value.cc: Likewise.
      	* testsuite/20_util/reference_from_temporary/value2.cc:
      	Likewise.
      	* testsuite/20_util/reference_from_temporary/version.cc:
      	Likewise.
      	* testsuite/20_util/to_chars/constexpr.cc: Likewise.
      	* testsuite/20_util/to_chars/float128_c++23.cc: Likewise.
      	* testsuite/20_util/to_chars/float16_c++23.cc: Likewise.
      	* testsuite/20_util/to_chars/version.cc: Likewise.
      	* testsuite/20_util/to_underlying/1.cc: Likewise.
      	* testsuite/20_util/to_underlying/version.cc: Likewise.
      	* testsuite/20_util/tuple/p2321r2.cc: Likewise.
      	* testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise.
      	* testsuite/20_util/unique_ptr/comparison/constexpr.cc:
      	Likewise.
      	* testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
      	Likewise.
      	* testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
      	* testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise.
      	* testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise.
      	* testsuite/20_util/unreachable/1.cc: Likewise.
      	* testsuite/20_util/unreachable/version.cc: Likewise.
      	* testsuite/20_util/uses_allocator/lwg3677.cc: Likewise.
      	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise.
      	* testsuite/21_strings/basic_string/operations/contains/char.cc:
      	Likewise.
      	* testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise.
      	* testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise.
      	* testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise.
      	* testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise.
      	* testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise.
      	* testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise.
      	* testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise.
      	* testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise.
      	* testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
      	* testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
      	* testsuite/23_containers/vector/bool/element_access/1.cc:
      	Likewise.
      	* testsuite/24_iterators/const_iterator/1.cc: Likewise.
      	* testsuite/25_algorithms/contains/1.cc: Likewise.
      	* testsuite/25_algorithms/contains_subrange/1.cc: Likewise.
      	* testsuite/25_algorithms/find_last/1.cc: Likewise.
      	* testsuite/25_algorithms/find_last_if/1.cc: Likewise.
      	* testsuite/25_algorithms/find_last_if_not/1.cc: Likewise.
      	* testsuite/25_algorithms/fold_left/1.cc: Likewise.
      	* testsuite/25_algorithms/fold_right/1.cc: Likewise.
      	* testsuite/25_algorithms/iota/1.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
      	* testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
      	* testsuite/26_numerics/complex/ext_c++23.cc: Likewise.
      	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise.
      	* testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc:
      	Likewise.
      	* testsuite/26_numerics/headers/cmath/functions_std_c++23.cc:
      	Likewise.
      	* testsuite/26_numerics/headers/cmath/nextafter_c++23.cc:
      	Likewise.
      	* testsuite/26_numerics/numbers/4.cc: Likewise.
      	* testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise.
      	* testsuite/27_io/filesystem/path/native/conv_c++23.cc:
      	Likewise.
      	* testsuite/27_io/spanstream/1.cc: Likewise.
      	* testsuite/27_io/spanstream/2.cc: Likewise.
      	* testsuite/27_io/spanstream/version.cc: Likewise.
      	* testsuite/29_atomics/atomic_float/requirements_cxx23.cc:
      	Likewise.
      	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
      	Likewise.
      	* testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/native/conv_c++23.cc:
      	Likewise.
      	* testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise.
      	* testsuite/std/ranges/adaptors/adjacent_transform/1.cc:
      	Likewise.
      	* testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
      	* testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
      	* testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
      	* testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
      	* testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
      	* testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
      	* testsuite/std/ranges/adaptors/lwg3715.cc: Likewise.
      	* testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
      	* testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
      	* testsuite/std/ranges/cartesian_product/1.cc: Likewise.
      	* testsuite/std/ranges/range_adaptor_closure.cc: Likewise.
      	* testsuite/std/ranges/repeat/1.cc: Likewise.
      	* testsuite/std/ranges/version_c++23.cc: Likewise.
      	* testsuite/std/ranges/zip/1.cc: Likewise.
      	* testsuite/std/ranges/zip_transform/1.cc: Likewise.
      7810fb3a
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++23" from std::expected tests · 5188b402
      Jonathan Wakely authored
      The testsuite will automatically select C++23 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++26
      as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/20_util/expected/assign.cc: Remove dg-options.
      	* testsuite/20_util/expected/bad.cc: Likewise.
      	* testsuite/20_util/expected/cons.cc: Likewise.
      	* testsuite/20_util/expected/equality.cc: Likewise.
      	* testsuite/20_util/expected/illformed_neg.cc: Likewise.
      	* testsuite/20_util/expected/lwg3877.cc: Likewise.
      	* testsuite/20_util/expected/lwg3938.cc: Likewise.
      	* testsuite/20_util/expected/monadic.cc: Likewise.
      	* testsuite/20_util/expected/observers.cc: Likewise.
      	* testsuite/20_util/expected/requirements.cc: Likewise.
      	* testsuite/20_util/expected/swap.cc: Likewise.
      	* testsuite/20_util/expected/synopsis.cc: Likewise.
      	* testsuite/20_util/expected/unexpected.cc: Likewise.
      	* testsuite/20_util/expected/version.cc: Likewise.
      5188b402
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from std::chrono tests · 41cd9d4d
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/20_util/duration/arithmetic/overflow_c++20.cc:
      	Remove dg-options.
      	* testsuite/20_util/duration/io.cc: Likewise.
      	* testsuite/std/time/clock/file/io.cc: Likewise.
      	* testsuite/std/time/clock/file/members.cc: Likewise.
      	* testsuite/std/time/clock/file/overview.cc: Likewise.
      	* testsuite/std/time/clock/gps/1.cc: Likewise.
      	* testsuite/std/time/clock/gps/io.cc: Likewise.
      	* testsuite/std/time/clock/local/io.cc: Likewise.
      	* testsuite/std/time/clock/system/io.cc: Likewise.
      	* testsuite/std/time/clock/tai/1.cc: Likewise.
      	* testsuite/std/time/clock/tai/io.cc: Likewise.
      	* testsuite/std/time/clock/utc/1.cc: Likewise.
      	* testsuite/std/time/clock/utc/io.cc: Likewise.
      	* testsuite/std/time/clock/utc/leap_second_info.cc: Likewise.
      	* testsuite/std/time/day/1.cc: Likewise.
      	* testsuite/std/time/day/io.cc: Likewise.
      	* testsuite/std/time/exceptions.cc: Likewise.
      	* testsuite/std/time/format.cc: Likewise.
      	* testsuite/std/time/hh_mm_ss/1.cc: Likewise.
      	* testsuite/std/time/hh_mm_ss/109772.cc: Likewise.
      	* testsuite/std/time/hh_mm_ss/io.cc: Likewise.
      	* testsuite/std/time/is_am/1.cc: Likewise.
      	* testsuite/std/time/is_pm/1.cc: Likewise.
      	* testsuite/std/time/make12/1.cc: Likewise.
      	* testsuite/std/time/make24/1.cc: Likewise.
      	* testsuite/std/time/month/1.cc: Likewise.
      	* testsuite/std/time/month/io.cc: Likewise.
      	* testsuite/std/time/month_day/1.cc: Likewise.
      	* testsuite/std/time/month_day/io.cc: Likewise.
      	* testsuite/std/time/month_day_last/1.cc: Likewise.
      	* testsuite/std/time/month_day_last/io.cc: Likewise.
      	* testsuite/std/time/month_weekday/1.cc: Likewise.
      	* testsuite/std/time/month_weekday/io.cc: Likewise.
      	* testsuite/std/time/month_weekday_last/1.cc: Likewise.
      	* testsuite/std/time/month_weekday_last/io.cc: Likewise.
      	* testsuite/std/time/parse.cc: Likewise.
      	* testsuite/std/time/syn_c++20.cc: Likewise.
      	* testsuite/std/time/time_zone/get_info_local.cc: Likewise.
      	* testsuite/std/time/time_zone/get_info_sys.cc: Likewise.
      	* testsuite/std/time/time_zone/requirements.cc: Likewise.
      	* testsuite/std/time/traits/is_clock.cc: Likewise.
      	* testsuite/std/time/tzdb/1.cc: Likewise.
      	* testsuite/std/time/tzdb/leap_seconds.cc: Likewise.
      	* testsuite/std/time/tzdb_list/1.cc: Likewise.
      	* testsuite/std/time/tzdb_list/requirements.cc: Likewise.
      	* testsuite/std/time/weekday/1.cc: Likewise.
      	* testsuite/std/time/weekday/io.cc: Likewise.
      	* testsuite/std/time/weekday_indexed/io.cc: Likewise.
      	* testsuite/std/time/weekday_last/1.cc: Likewise.
      	* testsuite/std/time/weekday_last/io.cc: Likewise.
      	* testsuite/std/time/year/1.cc: Likewise.
      	* testsuite/std/time/year/2.cc: Likewise.
      	* testsuite/std/time/year/io.cc: Likewise.
      	* testsuite/std/time/weekday_indexed/1.cc: Likewise.
      	* testsuite/std/time/year_month/1.cc: Likewise.
      	* testsuite/std/time/year_month/2.cc: Likewise.
      	* testsuite/std/time/year_month/io.cc: Likewise.
      	* testsuite/std/time/year_month_day/1.cc: Likewise.
      	* testsuite/std/time/year_month_day/2.cc: Likewise.
      	* testsuite/std/time/year_month_day/3.cc: Likewise.
      	* testsuite/std/time/year_month_day/4.cc: Likewise.
      	* testsuite/std/time/year_month_day/io.cc: Likewise.
      	* testsuite/std/time/year_month_day_last/1.cc: Likewise.
      	* testsuite/std/time/year_month_day_last/2.cc: Likewise.
      	* testsuite/std/time/year_month_day_last/io.cc: Likewise.
      	* testsuite/std/time/year_month_weekday/1.cc: Likewise.
      	* testsuite/std/time/year_month_weekday/2.cc: Likewise.
      	* testsuite/std/time/year_month_weekday/3.cc: Likewise.
      	* testsuite/std/time/year_month_weekday/io.cc: Likewise.
      	* testsuite/std/time/year_month_weekday_last/1.cc: Likewise.
      	* testsuite/std/time/year_month_weekday_last/2.cc: Likewise.
      	* testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
      	* testsuite/std/time/zoned_time/1.cc: Likewise.
      	* testsuite/std/time/zoned_time/custom.cc: Likewise.
      	* testsuite/std/time/zoned_time/deduction.cc: Likewise.
      	* testsuite/std/time/zoned_time/io.cc: Likewise.
      	* testsuite/std/time/zoned_time/req_neg.cc: Likewise.
      	* testsuite/std/time/zoned_time/requirements.cc: Likewise.
      	* testsuite/std/time/zoned_traits.cc: Likewise.
      41cd9d4d
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from std::format tests · 4c0fbba3
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/std/format/arguments/args.cc: Remove dg-options.
      	* testsuite/std/format/arguments/lwg3810.cc: Likewise.
      	* testsuite/std/format/error.cc: Likewise.
      	* testsuite/std/format/format_string.cc: Likewise.
      	* testsuite/std/format/formatter/concept.cc: Likewise.
      	* testsuite/std/format/formatter/ext_float.cc: Likewise.
      	* testsuite/std/format/formatter/requirements.cc: Likewise.
      	* testsuite/std/format/functions/107871.cc: Likewise.
      	* testsuite/std/format/functions/format.cc: Likewise.
      	* testsuite/std/format/functions/format_to.cc: Likewise.
      	* testsuite/std/format/functions/format_to_n.cc: Likewise.
      	* testsuite/std/format/functions/size.cc: Likewise.
      	* testsuite/std/format/functions/vformat_to.cc: Likewise.
      	* testsuite/std/format/parse_ctx.cc: Likewise.
      	* testsuite/std/format/string.cc: Likewise.
      	* testsuite/std/format/string_neg.cc: Likewise.
      	* testsuite/std/format/functions/format_c++23.cc: Removed.
      4c0fbba3
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++2a" from constrained algo tests · 7dbb6913
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/20_util/function_objects/range.cmp/equal_to.cc:
      	Remove dg-options.
      	* testsuite/20_util/function_objects/range.cmp/greater.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/range.cmp/greater_equal.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/range.cmp/less.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/range.cmp/less_equal.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/range.cmp/lwg3530.cc:
      	Likewise.
      	* testsuite/20_util/function_objects/range.cmp/not_equal_to.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/construct_at/1.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/adjacent_find/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/all_of/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/all_of/constrained.cc: Likewise.
      	* testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/any_of/constrained.cc: Likewise.
      	* testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/binary_search/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/clamp/constrained.cc: Likewise.
      	* testsuite/25_algorithms/constexpr_macro.cc: Likewise.
      	* testsuite/25_algorithms/copy/95578.cc: Likewise.
      	* testsuite/25_algorithms/copy/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/copy/constrained.cc: Likewise.
      	* testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
      	* testsuite/25_algorithms/copy_backward/95578.cc: Likewise.
      	* testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/copy_backward/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
      	Likewise.
      	* testsuite/25_algorithms/copy_if/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/copy_if/constrained.cc: Likewise.
      	* testsuite/25_algorithms/copy_n/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/copy_n/constrained.cc: Likewise.
      	* testsuite/25_algorithms/count/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/count/constrained.cc: Likewise.
      	* testsuite/25_algorithms/count_if/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/count_if/constrained.cc: Likewise.
      	* testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
      	* testsuite/25_algorithms/equal/95578.cc: Likewise.
      	* testsuite/25_algorithms/equal/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise.
      	* testsuite/25_algorithms/equal/constrained.cc: Likewise.
      	* testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
      	Likewise.
      	* testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/equal_range/constrained.cc: Likewise.
      	* testsuite/25_algorithms/fill/94017.cc: Likewise.
      	* testsuite/25_algorithms/fill/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/fill/constrained.cc: Likewise.
      	* testsuite/25_algorithms/fill_n/94017.cc: Likewise.
      	* testsuite/25_algorithms/fill_n/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/fill_n/constrained.cc: Likewise.
      	* testsuite/25_algorithms/find/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/find/constrained.cc: Likewise.
      	* testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/find_end/constrained.cc: Likewise.
      	* testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/find_first_of/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/find_if/constrained.cc: Likewise.
      	* testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/find_if_not/constrained.cc: Likewise.
      	* testsuite/25_algorithms/for_each/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/for_each/constrained.cc: Likewise.
      	* testsuite/25_algorithms/generate/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/generate/constrained.cc: Likewise.
      	* testsuite/25_algorithms/generate_n/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/generate_n/constrained.cc: Likewise.
      	* testsuite/25_algorithms/heap/constrained.cc: Likewise.
      	* testsuite/25_algorithms/includes/constrained.cc: Likewise.
      	* testsuite/25_algorithms/inplace_merge/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/is_partitioned/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/is_permutation/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
      	* testsuite/25_algorithms/is_sorted_until/constexpr.cc:
      	Likewise.
      	* testsuite/25_algorithms/is_sorted_until/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/lexicographical_compare/93972.cc:
      	Likewise.
      	* testsuite/25_algorithms/lexicographical_compare/95578.cc:
      	Likewise.
      	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
      	Likewise.
      	* testsuite/25_algorithms/lexicographical_compare/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
      	Likewise.
      	* testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc:
      	Likewise.
      	* testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/lower_bound/constrained.cc: Likewise.
      	* testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
      	Likewise.
      	* testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
      	Likewise.
      	* testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
      	Likewise.
      	* testsuite/25_algorithms/make_heap/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/max/constrained.cc: Likewise.
      	* testsuite/25_algorithms/max_element/constrained.cc: Likewise.
      	* testsuite/25_algorithms/merge/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/merge/constrained.cc: Likewise.
      	* testsuite/25_algorithms/min/constrained.cc: Likewise.
      	* testsuite/25_algorithms/min_element/constrained.cc: Likewise.
      	* testsuite/25_algorithms/minmax/constrained.cc: Likewise.
      	* testsuite/25_algorithms/minmax_element/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/mismatch/constrained.cc: Likewise.
      	* testsuite/25_algorithms/move/93872.cc: Likewise.
      	* testsuite/25_algorithms/move/95578.cc: Likewise.
      	* testsuite/25_algorithms/move/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/move/constrained.cc: Likewise.
      	* testsuite/25_algorithms/move_backward/93872.cc: Likewise.
      	* testsuite/25_algorithms/move_backward/95578.cc: Likewise.
      	* testsuite/25_algorithms/move_backward/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/next_permutation/constexpr.cc:
      	Likewise.
      	* testsuite/25_algorithms/next_permutation/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/none_of/constrained.cc: Likewise.
      	* testsuite/25_algorithms/nth_element/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/nth_element/constrained.cc: Likewise.
      	* testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
      	* testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
      	Likewise.
      	* testsuite/25_algorithms/partial_sort_copy/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/partition/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/partition/constrained.cc: Likewise.
      	* testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/partition_copy/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/partition_point/constexpr.cc:
      	Likewise.
      	* testsuite/25_algorithms/partition_point/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/prev_permutation/constexpr.cc:
      	Likewise.
      	* testsuite/25_algorithms/prev_permutation/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/push_heap/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/remove/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/remove/constrained.cc: Likewise.
      	* testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/remove_copy/constrained.cc: Likewise.
      	* testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/remove_copy_if/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/remove_if/constrained.cc: Likewise.
      	* testsuite/25_algorithms/replace/constrained.cc: Likewise.
      	* testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/replace_copy/constrained.cc: Likewise.
      	* testsuite/25_algorithms/replace_copy_if/constexpr.cc:
      	Likewise.
      	* testsuite/25_algorithms/replace_copy_if/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/replace_if/constrained.cc: Likewise.
      	* testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/reverse/constrained.cc: Likewise.
      	* testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise.
      	* testsuite/25_algorithms/rotate/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/rotate/constrained.cc: Likewise.
      	* testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise.
      	* testsuite/25_algorithms/sample/constrained.cc: Likewise.
      	* testsuite/25_algorithms/search/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/search/constrained.cc: Likewise.
      	* testsuite/25_algorithms/search_n/97828.cc: Likewise.
      	* testsuite/25_algorithms/search_n/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/search_n/constrained.cc: Likewise.
      	* testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/set_difference/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/set_intersection/constexpr.cc:
      	Likewise.
      	* testsuite/25_algorithms/set_intersection/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
      	Likewise.
      	* testsuite/25_algorithms/set_symmetric_difference/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/set_union/constrained.cc: Likewise.
      	* testsuite/25_algorithms/shift_left/1.cc: Likewise.
      	* testsuite/25_algorithms/shift_right/1.cc: Likewise.
      	* testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
      	* testsuite/25_algorithms/sort/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/sort/constrained.cc: Likewise.
      	* testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/stable_partition/constrained.cc:
      	Likewise.
      	* testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
      	* testsuite/25_algorithms/swap/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise.
      	* testsuite/25_algorithms/transform/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/transform/constrained.cc: Likewise.
      	* testsuite/25_algorithms/unique/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/unique/constrained.cc: Likewise.
      	* testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/unique_copy/constrained.cc: Likewise.
      	* testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/upper_bound/constrained.cc: Likewise.
      	* testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
      	Likewise.
      	* testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
      	Likewise.
      	* testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
      	Likewise.
      7dbb6913
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=gnu++20" from <concepts> and <ranges> tests · d4ac20b0
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/std/concepts/1.cc: Remove dg-options.
      	* testsuite/std/concepts/2.cc: Likewise.
      	* testsuite/std/concepts/concepts.callable/invocable.cc:
      	Likewise.
      	* testsuite/std/concepts/concepts.callable/regular_invocable.cc:
      	Likewise.
      	* testsuite/std/concepts/concepts.callable/relation.cc:
      	Likewise.
      	* testsuite/std/concepts/concepts.callable/strictweakorder.cc:
      	Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.assignable/1.cc:
      	Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.common/1.cc:
      	Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.commonref/1.cc:
      	Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
      	Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
      	Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.same/1.cc:
      	Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise.
      	* testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise.
      	* testsuite/std/concepts/concepts.object/copyable.cc: Likewise.
      	* testsuite/std/concepts/concepts.object/movable.cc: Likewise.
      	* testsuite/std/concepts/concepts.object/regular.cc: Likewise.
      	* testsuite/std/concepts/concepts.object/semiregular.cc:
      	Likewise.
      	* testsuite/std/ranges/97600.cc: Likewise.
      	* testsuite/std/ranges/access/101782.cc: Likewise.
      	* testsuite/std/ranges/access/begin.cc: Likewise.
      	* testsuite/std/ranges/access/begin_neg.cc: Likewise.
      	* testsuite/std/ranges/access/cbegin.cc: Likewise.
      	* testsuite/std/ranges/access/cdata.cc: Likewise.
      	* testsuite/std/ranges/access/cend.cc: Likewise.
      	* testsuite/std/ranges/access/crbegin.cc: Likewise.
      	* testsuite/std/ranges/access/crend.cc: Likewise.
      	* testsuite/std/ranges/access/data.cc: Likewise.
      	* testsuite/std/ranges/access/empty.cc: Likewise.
      	* testsuite/std/ranges/access/end.cc: Likewise.
      	* testsuite/std/ranges/access/end_neg.cc: Likewise.
      	* testsuite/std/ranges/access/lwg3467.cc: Likewise.
      	* testsuite/std/ranges/access/p2602.cc: Likewise.
      	* testsuite/std/ranges/access/rbegin.cc: Likewise.
      	* testsuite/std/ranges/access/rend.cc: Likewise.
      	* testsuite/std/ranges/access/size.cc: Likewise.
      	* testsuite/std/ranges/access/size_neg.cc: Likewise.
      	* testsuite/std/ranges/access/ssize.cc: Likewise.
      	* testsuite/std/ranges/adaptors/100479.cc: Likewise.
      	* testsuite/std/ranges/adaptors/100577.cc: Likewise.
      	* testsuite/std/ranges/adaptors/93978.cc: Likewise.
      	* testsuite/std/ranges/adaptors/95322.cc: Likewise.
      	* testsuite/std/ranges/adaptors/99433.cc: Likewise.
      	* testsuite/std/ranges/adaptors/all.cc: Likewise.
      	* testsuite/std/ranges/adaptors/common.cc: Likewise.
      	* testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
      	Likewise.
      	* testsuite/std/ranges/adaptors/counted.cc: Likewise.
      	* testsuite/std/ranges/adaptors/detail/copyable_box.cc:
      	Likewise.
      	* testsuite/std/ranges/adaptors/drop.cc: Likewise.
      	* testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
      	* testsuite/std/ranges/adaptors/elements.cc: Likewise.
      	* testsuite/std/ranges/adaptors/filter.cc: Likewise.
      	* testsuite/std/ranges/adaptors/join.cc: Likewise.
      	* testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
      	* testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
      	* testsuite/std/ranges/adaptors/lwg3286.cc: Likewise.
      	* testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise.
      	* testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise.
      	* testsuite/std/ranges/adaptors/lwg3406.cc: Likewise.
      	* testsuite/std/ranges/adaptors/p1739.cc: Likewise.
      	* testsuite/std/ranges/adaptors/p2281.cc: Likewise.
      	* testsuite/std/ranges/adaptors/p2770r0.cc: Likewise.
      	* testsuite/std/ranges/adaptors/reverse.cc: Likewise.
      	* testsuite/std/ranges/adaptors/sizeof.cc: Likewise.
      	* testsuite/std/ranges/adaptors/split.cc: Likewise.
      	* testsuite/std/ranges/adaptors/take.cc: Likewise.
      	* testsuite/std/ranges/adaptors/take_while.cc: Likewise.
      	* testsuite/std/ranges/adaptors/transform.cc: Likewise.
      	* testsuite/std/ranges/empty_view.cc: Likewise.
      	* testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
      	* testsuite/std/ranges/iota/difference_type.cc: Likewise.
      	* testsuite/std/ranges/iota/iota_view.cc: Likewise.
      	* testsuite/std/ranges/iota/iterator.cc: Likewise.
      	* testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
      	* testsuite/std/ranges/iota/max_size_type.cc: Likewise.
      	* testsuite/std/ranges/istream_view.cc: Likewise.
      	* testsuite/std/ranges/p2259.cc: Likewise.
      	* testsuite/std/ranges/p2325.cc: Likewise.
      	* testsuite/std/ranges/p2367.cc: Likewise.
      	* testsuite/std/ranges/range.cc: Likewise.
      	* testsuite/std/ranges/refinements.cc: Likewise.
      	* testsuite/std/ranges/safe_range.cc: Likewise.
      	* testsuite/std/ranges/safe_range_types.cc: Likewise.
      	* testsuite/std/ranges/single_view.cc: Likewise.
      	* testsuite/std/ranges/sized.cc: Likewise.
      	* testsuite/std/ranges/subrange/1.cc: Likewise.
      	* testsuite/std/ranges/subrange/97512.cc: Likewise.
      	* testsuite/std/ranges/subrange/constexpr.cc: Likewise.
      	* testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise.
      	* testsuite/std/ranges/subrange/lwg3286.cc: Likewise.
      	* testsuite/std/ranges/subrange/lwg3433.cc: Likewise.
      	* testsuite/std/ranges/subrange/sizeof.cc: Likewise.
      	* testsuite/std/ranges/subrange/tuple_like.cc: Likewise.
      	* testsuite/std/ranges/view.cc: Likewise.
      d4ac20b0
    • Jonathan Wakely's avatar
      libstdc++: Remove dg-options "-std=c++20" from <span> and <cuchar> tests · 5d066729
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well.
      
      There doesn't seem to be any reason they need to use strict -std=c++20
      mode, so don't add the { dg-add-options strict_std } directive, just let
      them use strict or non-strict modes.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
      	Remove dg-options.
      	* testsuite/23_containers/span/contiguous_range_neg.cc:
      	Likewise.
      	* testsuite/23_containers/span/everything.cc: Likewise.
      5d066729
    • Jonathan Wakely's avatar
      libstdc++: Replace dg-options "-std=c++20" with dg-add-options strict_std · 07c602bb
      Jonathan Wakely authored
      The testsuite will automatically select C++20 for these tests now, and
      removing the hardcoded -std option allows them to be tested for C++23
      and C++26 as well. Because they test a problem seen with -std=c++20 add
      the new { dg-add-options strict_std } directive so that the test runner
      uses -std=c++NN not -std=gnu++NN.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/24_iterators/reverse_iterator/100639.cc: Remove
      	dg-options and add dg-add-options strict_std.
      	* testsuite/std/ranges/iota/93267.cc: Likewise.
      	* testsuite/std/ranges/iota/96042.cc: Likewise.
      	* testsuite/std/ranges/iota/size.cc: Likewise.
      	* testsuite/std/ranges/subrange/96042.cc: Likewise.
      07c602bb
    • Jonathan Wakely's avatar
      libstdc++: Replace dg-options "-std=c++17" with dg-add-options strict_std · c4bf6e8e
      Jonathan Wakely authored
      These tests can (and should) also be run for later standards, so replace
      the { dg-options "-std=c++17" } with { dg-add-options strict_std }.
      
      	* testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc:
      	Replace dg-options -std=c++17 with dg-add-options strict_std.
      	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc:
      	Likewise.
      c4bf6e8e
    • Jonathan Wakely's avatar
      libstdc++: Replace dg-options "-std=c++11" with dg-add-options strict_std · 52841fb7
      Jonathan Wakely authored
      These tests can (and should) also be run for later standards, so replace
      the { dg-options "-std=c++11" } with { dg-add-options strict_std } and a
      target selector for c++11.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/23_containers/deque/48101-2_neg.cc: Replace
      	dg-options with target selector.
      	* testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise.
      	* testsuite/23_containers/list/48101-2_neg.cc: Likewise.
      	* testsuite/23_containers/map/48101-2_neg.cc: Likewise.
      	* testsuite/23_containers/map/48101_neg.cc: Likewise.
      	* testsuite/23_containers/multimap/48101-2_neg.cc: Likewise.
      	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
      	* testsuite/23_containers/multiset/48101-2_neg.cc: Likewise.
      	* testsuite/23_containers/set/48101-2_neg.cc: Likewise.
      	* testsuite/23_containers/unordered_map/48101-2_neg.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multimap/48101-2_neg.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multiset/48101-2_neg.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/48101-2_neg.cc:
      	Likewise.
      	* testsuite/23_containers/vector/48101-2_neg.cc: Likewise.
      52841fb7
    • Jonathan Wakely's avatar
      libstdc++: Add support for running tests with multiple -std options · 3a0e01f6
      Jonathan Wakely authored
      This copies the code from the compiler's gcc/testsuite/lib/g++-dg.exp so
      that each test can be run multiple times, with different -std options.
      This means that we can remove most { dg-options "-std=gnu++20" }
      directives from tests, because the testsuite will automatically select
      a set of -std options that includes that version.
      
      Tests that should only run for a specific standard (e.g. ones that use
      something like { dg-do run { target c++11_only } }) should still specify
      that standard with { dg-options "-std=gnu++11" }, which overrides the
      automatic selection. But a dg-options that selects a newer standard than
      the default can be removed, because that standard will be selected
      automatically based on a selector like { target c++20 } in the dg-do
      directive. This will allow those tests to be run for more than just the
      one they currently hardcode, so that e.g. std::format tests can be run
      for all of C++20, C++23 and C++26. Currently that has to be done by
      adding a second test file that uses a different dg-options line.
      
      By default most tests will continue to run with only the default dialect
      (currently -std=gnu++17) so that the time to run the entire testsuite is
      not increased. We can revisit this later if increasing the testsuite
      time (and coverage) is acceptable. Libstdc++ developers can easily
      override the defaults to run for multiple versions. To test all
      versions, either add 'set v3_std_list { 98 11 14 17 20 23 26 }' to
      ~/.dejagnurc or define GLIBCXX_TESTSUITE_STDS="98,11,14,17,20,23,26" in
      the environment.
      
      This should be more efficient than the current way to test with multple
      standards, i.e. --target_board=unix{-std=c++14,-std=c++17,-std=c++20},
      because today all tests with an explicit -std option hardcoded in them
      get run for each target board variation but using the exact same
      hardcoded -std every time. With the new approach you can just use the
      default --target_board=unix and set GLIBCXX_TESTSUITE_STDS="14,17,20"
      and now a test that has { target c++20 } will only run once (and be
      UNSUPPORTED twice), instead of running with identical options three
      times.
      
      In order to support ~/.dejagnurc and $DEJAGNU files that need to work
      with versions of GCC without this change, a new variable is added to
      site.tmp to detect whether v3_std_list is supported. That allows e.g.
      
      if { [info exists v3-use-std-list] } {
        set v3_std_list { 11 17 23 }
        set target_list { "unix{,-m32}" }
      } else {
        set target_list { "unix{,-std=gnu++2b,-std=gnu++11,-m32}" }
      }
      
      libstdc++-v3/ChangeLog:
      
      	* doc/xml/manual/test.xml: Update documentation on running and
      	writing tests.
      	* doc/html/manual/test.html: Regenerate.
      	* testsuite/Makefile.am: Add v3-use-std-list to site.tmp
      	* testsuite/Makefile.in: Regenerate.
      	* testsuite/lib/dg-options.exp (add_options_for_strict_std): New
      	proc.
      	* testsuite/lib/libstdc++.exp (search_for): New utility proc.
      	(v3-dg-runtest): New proc to replace dg-runtest.
      	* testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest.
      3a0e01f6
    • Jonathan Wakely's avatar
      libstdc++: Fix 29_atomics/headers/atomic/types_std_c++2a_neg.cc for C++23 · 038c0afa
      Jonathan Wakely authored
      This test fails when run as C++23 because the <bits/stdc++.h> PCH
      includes <stdatomic.h> which declares ::memory_order, invalidating the
      test's assumptions. Disable PCH so that the test verifies that <atomic>
      doesn't declare ::memory_order, as originally intended.
      
      Also fix the using-declaration which would be invalid even if the type
      was declared in the global namespace, and adjust the expected error.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
      	Fix test to work for C++23 and C++26 too.
      038c0afa
Loading