[PATCH] testsuite: Fix recently added ipa testcases [PR93763]

Christophe Lyon christophe.lyon@linaro.org
Mon Feb 24 12:33:00 GMT 2020


On Mon, 24 Feb 2020 at 12:50, Jakub Jelinek <jakub@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  <jakub@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
>



More information about the Gcc-patches mailing list