Jakub Jelinek <[email protected]> writes:
> 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 <[email protected]>
>
> * g++.dg/strub-internal-pr112938.C: Add dg-warning for c++20.
LGTM, thanks for handling it.
>
> --- 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