On Thu, Mar 27, 2025 at 12:05:21AM +0000, Sam James wrote: > The test was being ignored because dg.exp looks for .C in g++.dg/. > > gcc/testsuite/ChangeLog: > PR middle-end/112938 > > * g++.dg/strub-internal-pr112938.cc: Move to... > * g++.dg/strub-internal-pr112938.C: ...here. > --- > .../{strub-internal-pr112938.cc => strub-internal-pr112938.C} | 0 > 1 file changed, 0 insertions(+), 0 deletions(-) > rename gcc/testsuite/g++.dg/{strub-internal-pr112938.cc => > strub-internal-pr112938.C} (100%) > > diff --git a/gcc/testsuite/g++.dg/strub-internal-pr112938.cc > b/gcc/testsuite/g++.dg/strub-internal-pr112938.C > similarity index 100% > rename from gcc/testsuite/g++.dg/strub-internal-pr112938.cc > rename to gcc/testsuite/g++.dg/strub-internal-pr112938.C
This regressed the test for C++20 and higher: FAIL: g++.dg/strub-internal-pr112938.C -std=gnu++20 (test for excess errors) FAIL: g++.dg/strub-internal-pr112938.C -std=gnu++23 (test for excess errors) FAIL: g++.dg/strub-internal-pr112938.C -std=gnu++26 (test for excess errors) Here is a fix, tested on x86_64-linux, ok for trunk? 2025-03-27 Jakub Jelinek <ja...@redhat.com> * g++.dg/strub-internal-pr112938.C: Add dg-warning for c++20. --- gcc/testsuite/g++.dg/strub-internal-pr112938.C.jj 2025-03-27 17:17:35.837752377 +0100 +++ gcc/testsuite/g++.dg/strub-internal-pr112938.C 2025-03-27 20:25:49.135688885 +0100 @@ -3,7 +3,7 @@ /* { dg-require-effective-target strub } */ bool __attribute__ ((__strub__ ("internal"))) -f(bool i, volatile bool j) +f(bool i, volatile bool j) /* { dg-warning "'volatile'-qualified parameter is deprecated" "" { target c++20 } } */ { return (i ^ j) == j; } Jakub