On Mon, 24 Feb 2020 at 12:50, Jakub Jelinek <ja...@redhat.com> wrote: > > On Mon, Feb 24, 2020 at 11:09:58AM +0100, Christophe Lyon wrote: > > I'm seeing errors with the new testcase: > > end of struct or union > > /gcc/testsuite/gcc.dg/ipa/pr93763.c:8:1: warning: data definition has > > no type or storage class > ... > > Seems the test has been badly reduced (if the original doesn't emit > warnings, it is always better in the reduction script avoid introducing new > ones). > Also, the g++.dg/ipa/ test fails with -std=c++98 because it is written in > C++11. > > Fixed thusly, ok for trunk?
Works for me, thanks > > 2020-02-24 Jakub Jelinek <ja...@redhat.com> > > PR ipa/93763 > * gcc.dg/ipa/pr93763.c: Adjust the test so that it compiles without > warnings and still ICEs before the ipa-cp.c fix. > * g++.dg/ipa/pr93763.C: Require c++11 effective target. > > --- gcc/testsuite/gcc.dg/ipa/pr93763.c.jj 2020-02-24 12:44:09.626326146 > +0100 > +++ gcc/testsuite/gcc.dg/ipa/pr93763.c 2020-02-24 12:40:48.707320934 +0100 > @@ -3,44 +3,48 @@ > > typedef struct a a; > struct a { > - a *b > + a *b; > } d; > -e, k, ah, al; > -f(aa) { > +int e, k, ah, al; > +void h(void); > +void > +f(aa) int aa; { > if (aa & 1) > goto g; > f(aa | 2); > g: > h(); > } > +void i(); > +void > l() { > - { > f(072); > i(e, d, 92); > - } > } > +void > ag() { > - { i(e, d, 36); } > + i(e, d, 36); > } > +void j(); > +void > ai(a *m, a *n, unsigned aa) { > f(aa); > j(k, l, ah, 1); > } > +void > j(int c, a m, int aj, int aa) { > int ak = aa; > - { i(e, d, ak); } > + i(e, d, ak); > } > +void > i(int c, a *m, unsigned aa) { > - { > - { i(c, > (*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*( > + i(c, > (*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*( > > *(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*( > > *(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*m).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b) > > .b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b) > > .b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b) > > .b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b) > > .b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b).b, > 0); > - } > - } > int am = aa; > - ai(ag, al, am); > + ai((a *) (void *) ag, (a *) (__INTPTR_TYPE__) al, am); > } > --- gcc/testsuite/g++.dg/ipa/pr93763.C.jj 2020-02-21 21:54:56.616348316 > +0100 > +++ gcc/testsuite/g++.dg/ipa/pr93763.C 2020-02-24 12:35:02.061484741 +0100 > @@ -1,4 +1,4 @@ > -/* { dg-do compile } */ > +/* { dg-do compile { target c++11 } } */ > /* { dg-options "-O3" } */ > > struct search_param { > > > Jakub >