|
|
On Mon, 6 Jul 2009, Richard Guenther wrote:
>
> This is the gimplify-unit-at-a-time patch brought up-to-date with
> the current trunk and cleaned up somewhat. The remaining
> diagnostic regressions are progressions IMHO, fixing them would
> require a errrorcount/sorrycount per function.
>
> Comments welcome. Reviews and approvals for the frontend specific
> parts as well.
The following adjusts the C and Fortran testcases that are spuriously
failing after the patch. Most of the extra errors/warnings happen
with trunk as well if you shorten the testcases appropriately.
Richard.
* gfortran.dg/missing_optional_dummy_5.f90: Adjust pattern.
* gcc.dg/declspec-9.c: Expect extra error.
* gcc.dg/declspec-10.c: Likewise.
* gcc.dg/declspec-11.c: Likewise.
* gcc.dg/redecl-10.c: Expect extra warnings.
* gcc.target/i386/pr39082-1.c: Adjust diagnostic location.
* gcc.target/i386/pr39545-1.c: Likewise.
Index: gcc/testsuite/gcc.dg/declspec-10.c
===================================================================
--- gcc/testsuite/gcc.dg/declspec-10.c.orig 2009-05-05 18:07:06.000000000
+0200
+++ gcc/testsuite/gcc.dg/declspec-10.c 2009-07-07 12:35:53.000000000 +0200
@@ -43,3 +43,5 @@ void i (void) { auto void y (void) {} }
/* { dg-warning "function definition declared 'auto'" "nested" { target *-*-*
} 42 } */
inline int main (void) { return 0; } /* { dg-warning "cannot inline function
'main'" } */
+
+/* { dg-message "error: register name not specified for 'y'" "" { target *-*-*
} 19 } */
Index: gcc/testsuite/gcc.dg/declspec-11.c
===================================================================
--- gcc/testsuite/gcc.dg/declspec-11.c.orig 2009-05-05 18:07:06.000000000
+0200
+++ gcc/testsuite/gcc.dg/declspec-11.c 2009-07-07 12:36:02.000000000 +0200
@@ -43,3 +43,5 @@ void i (void) { auto void y (void) {} }
/* { dg-error "function definition declared 'auto'" "nested" { target *-*-* }
42 } */
inline int main (void) { return 0; } /* { dg-error "cannot inline function
'main'" } */
+
+/* { dg-message "error: register name not specified for 'y'" "" { target *-*-*
} 19 } */
Index: gcc/testsuite/gcc.dg/declspec-9.c
===================================================================
--- gcc/testsuite/gcc.dg/declspec-9.c.orig 2009-05-05 18:07:06.000000000
+0200
+++ gcc/testsuite/gcc.dg/declspec-9.c 2009-07-07 12:32:08.000000000 +0200
@@ -17,7 +17,7 @@ void f6 (static int); /* { dg-error "sto
void f7 (typedef int); /* { dg-error "storage class specified for unnamed
parameter" } */
auto int x; /* { dg-error "file-scope declaration of 'x' specifies 'auto'" } */
-register int y;
+register int y; /* { dg-error "register name not specified for 'y'" } */
void h (void) { extern void x (void) {} } /* { dg-error "nested function 'x'
declared 'extern'" } */
Index: gcc/testsuite/gcc.dg/redecl-10.c
===================================================================
--- gcc/testsuite/gcc.dg/redecl-10.c.orig 2006-02-07 11:14:14.000000000
+0100
+++ gcc/testsuite/gcc.dg/redecl-10.c 2009-07-07 12:37:18.000000000 +0200
@@ -12,7 +12,7 @@ f (void)
extern int w[] = { 1, 2 }; /* { dg-error "has both" } */
}
-int x[];
+int x[]; /* { dg-warning "array 'x' assumed to have one element" } */
void
g (void)
{
@@ -26,7 +26,7 @@ h (void)
extern int y[] = { 6 }; /* { dg-error "has both" } */
}
-int z[];
+int z[]; /* { dg-warning "array 'z' assumed to have one element" } */
void
i (void)
{
Index: gcc/testsuite/gcc.target/i386/pr39082-1.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr39082-1.c.orig 2009-02-18
10:37:09.000000000 +0100
+++ gcc/testsuite/gcc.target/i386/pr39082-1.c 2009-07-07 12:38:21.000000000
+0200
@@ -13,7 +13,7 @@ extern int bar1 (union un);
extern union un bar2 (int);
int
-foo1 (union un u) /* { dg-message "note: The ABI of passing union with long
double has changed in GCC 4.4" } */
+foo1 (union un u)
{
bar1 (u);
return u.i;
@@ -30,6 +30,6 @@ foo2 (void)
int
foo3 (int x)
{
- union un u = bar2 (x);
+ union un u = bar2 (x); /* { dg-message "note: The ABI of passing union with
long double has changed in GCC 4.4" } */
return u.i;
}
Index: gcc/testsuite/gcc.target/i386/pr39545-1.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr39545-1.c.orig 2009-03-30
10:32:05.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/pr39545-1.c 2009-07-07 12:38:42.000000000
+0200
@@ -10,14 +10,14 @@ struct flex
};
int
-foo (struct flex s) /* { dg-message "note: The ABI of passing struct with a
flexible array member has changed in GCC 4.4" } */
+foo (struct flex s)
{
return s.i;
}
struct flex
bar (int x)
-{
+{ /* { dg-message "note: The ABI of passing struct with a flexible array
member has changed in GCC 4.4" } */
struct flex s;
s.i = x;
return s;
Index: gcc/testsuite/gfortran.dg/missing_optional_dummy_5.f90
===================================================================
--- gcc/testsuite/gfortran.dg/missing_optional_dummy_5.f90.orig 2008-01-28
11:49:19.000000000 +0100
+++ gcc/testsuite/gfortran.dg/missing_optional_dummy_5.f90 2009-07-07
12:43:21.000000000 +0200
@@ -23,7 +23,7 @@ contains
end function tm_doit
end module krmod
-! { dg-final { scan-tree-dump " tm_doit \\(&parm.\(6|7\), 0B, 0\\);"
"original" } }
+! { dg-final { scan-tree-dump " tm_doit \\(&parm\.., 0B, 0\\);" "original" } }
! { dg-final { cleanup-tree-dump "original" } }
! { dg-final { cleanup-modules "pr22146" } }
|
|