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

Reply via email to