testsuite: Fix recently added ipa testcases [PR93763]

Message ID 20200224114950.GE2155@tucnak
State New
Headers show
Series
  • testsuite: Fix recently added ipa testcases [PR93763]
Related show

Commit Message

Jakub Jelinek Feb. 24, 2020, 11:49 a.m.
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?

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.



	Jakub

Comments

Christophe Lyon Feb. 24, 2020, 12:33 p.m. | #1
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

>

Patch

--- 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 {