testsuite: Adjust g++.dg/gomp/pr58567.C to new compiler message

Message ID 20230721212937.1784983-1-thiago.bauermann@linaro.org
State Accepted
Headers
Series testsuite: Adjust g++.dg/gomp/pr58567.C to new compiler message |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Thiago Jung Bauermann July 21, 2023, 9:29 p.m. UTC
  Commit 92d1425ca780 "c++: redundant targ coercion for var/alias tmpls"
changed the compiler error message in this testcase from

<source>: In instantiation of 'void foo() [with T = int]':
<source>:14:11:   required from here
<source>:8:22: error: 'int' is not a class, struct, or union type
<source>:8:22: error: 'int' is not a class, struct, or union type
<source>:8:22: error: 'int' is not a class, struct, or union type
<source>:8:3: error: expected iteration declaration or initialization
compiler exited with status 1

to:

<source>: In instantiation of 'void foo() [with T = int]':
<source>:14:11:   required from here
<source>:8:22: error: 'int' is not a class, struct, or union type
<source>:8:3: error: invalid type for iteration variable 'i'
compiler exited with status 1
Excess errors:
<source>:8:3: error: invalid type for iteration variable 'i'

Andrew Pinski analysed the issue in PR 110756 and considered that it was a
testsuite issue in that the error message changed slightly.  Also, it's a
better error message.

Therefore, we only need to adjust the testcase to expect the new message.

gcc/testsuite/ChangeLog:
	PR testsuite/110756
	g++.dg/gomp/pr58567.C: Adjust to new compiler error message.
---
 gcc/testsuite/g++.dg/gomp/pr58567.C | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Patrick Palka July 24, 2023, 12:34 p.m. UTC | #1
On Fri, Jul 21, 2023 at 5:29 PM Thiago Jung Bauermann
<thiago.bauermann@linaro.org> wrote:
>
> Commit 92d1425ca780 "c++: redundant targ coercion for var/alias tmpls"
> changed the compiler error message in this testcase from
>
> <source>: In instantiation of 'void foo() [with T = int]':
> <source>:14:11:   required from here
> <source>:8:22: error: 'int' is not a class, struct, or union type
> <source>:8:22: error: 'int' is not a class, struct, or union type
> <source>:8:22: error: 'int' is not a class, struct, or union type
> <source>:8:3: error: expected iteration declaration or initialization
> compiler exited with status 1
>
> to:
>
> <source>: In instantiation of 'void foo() [with T = int]':
> <source>:14:11:   required from here
> <source>:8:22: error: 'int' is not a class, struct, or union type
> <source>:8:3: error: invalid type for iteration variable 'i'
> compiler exited with status 1
> Excess errors:
> <source>:8:3: error: invalid type for iteration variable 'i'
>
> Andrew Pinski analysed the issue in PR 110756 and considered that it was a
> testsuite issue in that the error message changed slightly.  Also, it's a
> better error message.
>
> Therefore, we only need to adjust the testcase to expect the new message.

Thanks! I can't approve this patch but it looks good to me.


>
> gcc/testsuite/ChangeLog:
>         PR testsuite/110756
>         g++.dg/gomp/pr58567.C: Adjust to new compiler error message.
> ---
>  gcc/testsuite/g++.dg/gomp/pr58567.C | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gcc/testsuite/g++.dg/gomp/pr58567.C b/gcc/testsuite/g++.dg/gomp/pr58567.C
> index 35a5bb027ffe..866d831c65e4 100644
> --- a/gcc/testsuite/g++.dg/gomp/pr58567.C
> +++ b/gcc/testsuite/g++.dg/gomp/pr58567.C
> @@ -5,7 +5,7 @@
>  template<typename T> void foo()
>  {
>    #pragma omp parallel for
> -  for (typename T::X i = 0; i < 100; ++i)  /* { dg-error "'int' is not a class, struct, or union type|expected iteration declaration or initialization" } */
> +  for (typename T::X i = 0; i < 100; ++i)  /* { dg-error "'int' is not a class, struct, or union type|invalid type for iteration variable 'i'" } */
>      ;
>  }
>
>
  
Thiago Jung Bauermann Aug. 15, 2023, 4:17 p.m. UTC | #2
Hello,

Thiago Jung Bauermann <thiago.bauermann@linaro.org> writes:

> Commit 92d1425ca780 "c++: redundant targ coercion for var/alias tmpls"
> changed the compiler error message in this testcase from
>
> <source>: In instantiation of 'void foo() [with T = int]':
> <source>:14:11:   required from here
> <source>:8:22: error: 'int' is not a class, struct, or union type
> <source>:8:22: error: 'int' is not a class, struct, or union type
> <source>:8:22: error: 'int' is not a class, struct, or union type
> <source>:8:3: error: expected iteration declaration or initialization
> compiler exited with status 1
>
> to:
>
> <source>: In instantiation of 'void foo() [with T = int]':
> <source>:14:11:   required from here
> <source>:8:22: error: 'int' is not a class, struct, or union type
> <source>:8:3: error: invalid type for iteration variable 'i'
> compiler exited with status 1
> Excess errors:
> <source>:8:3: error: invalid type for iteration variable 'i'
>
> Andrew Pinski analysed the issue in PR 110756 and considered that it was a
> testsuite issue in that the error message changed slightly.  Also, it's a
> better error message.
>
> Therefore, we only need to adjust the testcase to expect the new message.
>
> gcc/testsuite/ChangeLog:
> 	PR testsuite/110756
> 	g++.dg/gomp/pr58567.C: Adjust to new compiler error message.
> ---
>  gcc/testsuite/g++.dg/gomp/pr58567.C | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gcc/testsuite/g++.dg/gomp/pr58567.C b/gcc/testsuite/g++.dg/gomp/pr58567.C
> index 35a5bb027ffe..866d831c65e4 100644
> --- a/gcc/testsuite/g++.dg/gomp/pr58567.C
> +++ b/gcc/testsuite/g++.dg/gomp/pr58567.C
> @@ -5,7 +5,7 @@
>  template<typename T> void foo()
>  {
>    #pragma omp parallel for
> -  for (typename T::X i = 0; i < 100; ++i)  /* { dg-error "'int' is not a class, struct, or union type|expected iteration declaration or initialization" } */
> +  for (typename T::X i = 0; i < 100; ++i)  /* { dg-error "'int' is not a class, struct, or union type|invalid type for iteration variable 'i'" } */
>      ;
>  }
>  

Ping? I just tested trunk. It still fails this test, and this patch
still fixes the failures.
  
Tobias Burnus Aug. 18, 2023, 4:42 p.m. UTC | #3
Hello Thiago,

the patch looks good to me. Thanks! Can you commit the patch yourself or
do you need someone to do this for you?

On 15.08.23 18:17, Thiago Jung Bauermann via Gcc-patches wrote:
> Thiago Jung Bauermann <thiago.bauermann@linaro.org> writes:
>
>> Commit 92d1425ca780 "c++: redundant targ coercion for var/alias tmpls"
>> changed the compiler error message in this testcase from
>>
>> <source>: In instantiation of 'void foo() [with T = int]':
>> <source>:14:11:   required from here
>> <source>:8:22: error: 'int' is not a class, struct, or union type
>> <source>:8:22: error: 'int' is not a class, struct, or union type
>> <source>:8:22: error: 'int' is not a class, struct, or union type
>> <source>:8:3: error: expected iteration declaration or initialization
>> compiler exited with status 1
>>
>> to:
>>
>> <source>: In instantiation of 'void foo() [with T = int]':
>> <source>:14:11:   required from here
>> <source>:8:22: error: 'int' is not a class, struct, or union type
>> <source>:8:3: error: invalid type for iteration variable 'i'
>> compiler exited with status 1
>> Excess errors:
>> <source>:8:3: error: invalid type for iteration variable 'i'
>>
>> Andrew Pinski analysed the issue in PR 110756 and considered that it was a
>> testsuite issue in that the error message changed slightly.  Also, it's a
>> better error message.
>>
>> Therefore, we only need to adjust the testcase to expect the new message.
>>
>> gcc/testsuite/ChangeLog:
>>      PR testsuite/110756
>>      g++.dg/gomp/pr58567.C: Adjust to new compiler error message.
>> ---
>>   gcc/testsuite/g++.dg/gomp/pr58567.C | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/gcc/testsuite/g++.dg/gomp/pr58567.C b/gcc/testsuite/g++.dg/gomp/pr58567.C
>> index 35a5bb027ffe..866d831c65e4 100644
>> --- a/gcc/testsuite/g++.dg/gomp/pr58567.C
>> +++ b/gcc/testsuite/g++.dg/gomp/pr58567.C
>> @@ -5,7 +5,7 @@
>>   template<typename T> void foo()
>>   {
>>     #pragma omp parallel for
>> -  for (typename T::X i = 0; i < 100; ++i)  /* { dg-error "'int' is not a class, struct, or union type|expected iteration declaration or initialization" } */
>> +  for (typename T::X i = 0; i < 100; ++i)  /* { dg-error "'int' is not a class, struct, or union type|invalid type for iteration variable 'i'" } */
>>       ;
>>   }
>>
> Ping? I just tested trunk. It still fails this test, and this patch
> still fixes the failures.
Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  
Thiago Jung Bauermann Aug. 18, 2023, 9:24 p.m. UTC | #4
Hello Tobias,

Tobias Burnus <tobias@codesourcery.com> writes:

> Hello Thiago,
>
> the patch looks good to me. Thanks! Can you commit the patch yourself or
> do you need someone to do this for you?

Thank you! I don't have commit access, so I would need someone to do
this for me.

> On 15.08.23 18:17, Thiago Jung Bauermann via Gcc-patches wrote:
>> Thiago Jung Bauermann <thiago.bauermann@linaro.org> writes:
>>
>>> Commit 92d1425ca780 "c++: redundant targ coercion for var/alias tmpls"
>>> changed the compiler error message in this testcase from
>>>
>>> <source>: In instantiation of 'void foo() [with T = int]':
>>> <source>:14:11:   required from here
>>> <source>:8:22: error: 'int' is not a class, struct, or union type
>>> <source>:8:22: error: 'int' is not a class, struct, or union type
>>> <source>:8:22: error: 'int' is not a class, struct, or union type
>>> <source>:8:3: error: expected iteration declaration or initialization
>>> compiler exited with status 1
>>>
>>> to:
>>>
>>> <source>: In instantiation of 'void foo() [with T = int]':
>>> <source>:14:11:   required from here
>>> <source>:8:22: error: 'int' is not a class, struct, or union type
>>> <source>:8:3: error: invalid type for iteration variable 'i'
>>> compiler exited with status 1
>>> Excess errors:
>>> <source>:8:3: error: invalid type for iteration variable 'i'
>>>
>>> Andrew Pinski analysed the issue in PR 110756 and considered that it was a
>>> testsuite issue in that the error message changed slightly.  Also, it's a
>>> better error message.
>>>
>>> Therefore, we only need to adjust the testcase to expect the new message.
>>>
>>> gcc/testsuite/ChangeLog:
>>>      PR testsuite/110756
>>>      g++.dg/gomp/pr58567.C: Adjust to new compiler error message.
>>> ---
>>>   gcc/testsuite/g++.dg/gomp/pr58567.C | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/gcc/testsuite/g++.dg/gomp/pr58567.C b/gcc/testsuite/g++.dg/gomp/pr58567.C
>>> index 35a5bb027ffe..866d831c65e4 100644
>>> --- a/gcc/testsuite/g++.dg/gomp/pr58567.C
>>> +++ b/gcc/testsuite/g++.dg/gomp/pr58567.C
>>> @@ -5,7 +5,7 @@
>>>   template<typename T> void foo()
>>>   {
>>>     #pragma omp parallel for
>>> -  for (typename T::X i = 0; i < 100; ++i)  /* { dg-error "'int' is not a class, struct, or union type|expected iteration declaration or initialization" } */
>>> +  for (typename T::X i = 0; i < 100; ++i)  /* { dg-error "'int' is not a class, struct, or union type|invalid type for iteration variable 'i'" } */
>>>       ;
>>>   }
>>>
>> Ping? I just tested trunk. It still fails this test, and this patch
>> still fixes the failures.
> Tobias
> -----------------
> Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München;
> Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf;
> Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  
Tobias Burnus Aug. 20, 2023, 7:06 p.m. UTC | #5
Hello Thiago,


On 18.08.23 23:24, Thiago Jung Bauermann wrote:
> Tobias Burnus <tobias@codesourcery.com> writes:
>> the patch looks good to me. Thanks! Can you commit the patch yourself or
>> do you need someone to do this for you?
> Thank you! I don't have commit access, so I would need someone to do
> this for me.

Done now in commit r14-3344-g40a6803c6d8ca2.

Thanks,

Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  
Thiago Jung Bauermann Aug. 21, 2023, 6:15 p.m. UTC | #6
Hello Tobias,

Tobias Burnus <tobias@codesourcery.com> writes:

> On 18.08.23 23:24, Thiago Jung Bauermann wrote:
>> Tobias Burnus <tobias@codesourcery.com> writes:
>>> the patch looks good to me. Thanks! Can you commit the patch yourself or
>>> do you need someone to do this for you?
>> Thank you! I don't have commit access, so I would need someone to do
>> this for me.
>
> Done now in commit r14-3344-g40a6803c6d8ca2.

Thank you!
  

Patch

diff --git a/gcc/testsuite/g++.dg/gomp/pr58567.C b/gcc/testsuite/g++.dg/gomp/pr58567.C
index 35a5bb027ffe..866d831c65e4 100644
--- a/gcc/testsuite/g++.dg/gomp/pr58567.C
+++ b/gcc/testsuite/g++.dg/gomp/pr58567.C
@@ -5,7 +5,7 @@ 
 template<typename T> void foo()
 {
   #pragma omp parallel for
-  for (typename T::X i = 0; i < 100; ++i)  /* { dg-error "'int' is not a class, struct, or union type|expected iteration declaration or initialization" } */
+  for (typename T::X i = 0; i < 100; ++i)  /* { dg-error "'int' is not a class, struct, or union type|invalid type for iteration variable 'i'" } */
     ;
 }