On Fri, Jul 21, 2023 at 5:29 PM Thiago Jung Bauermann <thiago.bauerm...@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'" } */ > ; > } > >