On Wed, 15 Dec 2021, Jakub Jelinek wrote: > On Mon, Dec 13, 2021 at 04:28:26PM -0500, Patrick Palka via Gcc-patches wrote: > > * g++.dg/concepts/diagnostic18.C: Expect a "constraints on a > > non-templated function" error. > > * g++.dg/cpp23/auto-fncast10.C: New test. > > This test fails: > +FAIL: g++.dg/cpp23/auto-fncast11.C -std=c++2b (test for errors, line 19) > +FAIL: g++.dg/cpp23/auto-fncast11.C -std=c++2b (test for excess errors) > because the regex in dg-error was missing an indefinite article. > > Tested with > GXX_TESTSUITE_STDS=98,11,14,17,20,2b make check-g++ > RUNTESTFLAGS="dg.exp=auto-fncast11.C" > and committed to trunk as obvious:
Oops, thanks Jakub, I didn't realize we don't run the testsuite with -std=c++23 yet. I guess it'd be too expensive to add another std to the testing matrix at this point, but I wonder if the test harness should at least run the testcases inside cpp23/ with -std=c++23? Something like the following seems to work. (And since -std=c++11 also isn't part of the default testing matrix anymore, perhaps we could give the testscases inside cpp0x/ a similar treatment too?) -- >8 -- Subject: [PATCH] testsuite: run testcases in g++.dg/cpp23/ with -std=c++23 gcc/testsuite/ChangeLog: * lib/g++-dg.exp (g++-dg-runtest): Add -std=c++23 to option_list for testcases in cpp23/. --- gcc/testsuite/lib/g++-dg.exp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/lib/g++-dg.exp b/gcc/testsuite/lib/g++-dg.exp index fd06d278faa..79fe3db014e 100644 --- a/gcc/testsuite/lib/g++-dg.exp +++ b/gcc/testsuite/lib/g++-dg.exp @@ -38,6 +38,8 @@ proc g++-dg-runtest { testcases flags default-extra-flags } { continue } + set nshort [file tail [file dirname $test]]/[file tail $test] + # If the testcase specifies a standard, use that one. # If not, run it under both standards, allowing GNU extensions # if there's a dg-options line. @@ -61,12 +63,13 @@ proc g++-dg-runtest { testcases flags default-extra-flags } { } elseif { $x eq "impcx" } then { set x "23 -fimplicit-constexpr" } lappend option_list "${std_prefix}$x" } + if [string match "cpp23/*" $nshort] { + lappend option_list "${std_prefix}23" + } } else { set option_list { "" } } - set nshort [file tail [file dirname $test]]/[file tail $test] - foreach flags_t $option_list { verbose "Testing $nshort, $flags $flags_t" 1 dg-test $test "$flags $flags_t" ${default-extra-flags} -- 2.34.1.182.ge773545c7f