diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b11b45aace7d..32c6fe784101 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,43 @@ +2014-10-02 Marek Polacek + + * gcc.c-torture/compile/20000120-2.c: Use -fgnu89-inline. + * gcc.c-torture/compile/20011119-1.c: Likewise. + * gcc.c-torture/compile/20011119-2.c: Likewise. + * gcc.c-torture/compile/20021120-1.c: Likewise. + * gcc.c-torture/compile/20021120-2.c: Likewise. + * gcc.c-torture/compile/20050215-1.c: Likewise. + * gcc.c-torture/compile/20050215-2.c: Likewise. + * gcc.c-torture/compile/20050215-3.c: Likewise. + * gcc.c-torture/compile/pr37669.c: Likewise. + * gcc.c-torture/execute/20020107-1.c: Likewise. + * gcc.c-torture/execute/restrict-1.c: Likewise. + * gcc.c-torture/compile/20090721-1.c: Fix defaulting to int. + * gcc.c-torture/execute/930529-1.c: Likewise. + * gcc.c-torture/execute/920612-1.c: Likewise. + * gcc.c-torture/execute/920711-1.c: Likewise. + * gcc.c-torture/execute/990127-2.c: Likewise. + * gcc.c-torture/execute/pr40386.c: Likewise. + * gcc.c-torture/execute/pr57124.c: Likewise. + * gcc.c-torture/compile/pr34808.c: Add function declarations. + * gcc.c-torture/compile/pr42299.c: Likewise. + * gcc.c-torture/compile/pr48517.c: Use -std=gnu89. + * gcc.c-torture/compile/simd-6.c: Likewise. + * gcc.c-torture/execute/pr53645-2.c: Likewise. + * gcc.c-torture/execute/pr53645.c: Likewise. + * gcc.c-torture/execute/20001121-1.c: Use -fgnu89-inline. Add function + declarations. + * gcc.c-torture/execute/980608-1.c: Likewise. + * gcc.c-torture/execute/bcp-1.c: Likewise. + * gcc.c-torture/execute/p18298.c: Likewise. + * gcc.c-torture/execute/unroll-1.c: Likewise. + * gcc.c-torture/execute/va-arg-7.c: Likewise. + * gcc.c-torture/execute/va-arg-8.c: Likewise. + * gcc.c-torture/execute/930526-1.c: Use -fgnu89-inline. Add function + declarations. Fix defaulting to int. + * gcc.c-torture/execute/961223-1.c: Likewise. + * gcc.c-torture/execute/loop-2c.c: Use -fgnu89-inline and + -Wno-pointer-to-int-cast. Fix defaulting to int. + 2014-10-02 Andrew Pinski Max Ostapenko diff --git a/gcc/testsuite/gcc.c-torture/compile/20000120-2.c b/gcc/testsuite/gcc.c-torture/compile/20000120-2.c index 737eb92ac64c..939c52de3189 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20000120-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20000120-2.c @@ -1,3 +1,5 @@ +/* { dg-options "-fgnu89-inline" } */ + extern __inline__ int odd(int i) { diff --git a/gcc/testsuite/gcc.c-torture/compile/20011119-1.c b/gcc/testsuite/gcc.c-torture/compile/20011119-1.c index b4b80ae2f1d7..5d036c93406a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20011119-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20011119-1.c @@ -1,3 +1,4 @@ +/* { dg-options "-fgnu89-inline" } */ /* { dg-require-weak "" } */ /* { dg-require-alias "" } */ #define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) diff --git a/gcc/testsuite/gcc.c-torture/compile/20011119-2.c b/gcc/testsuite/gcc.c-torture/compile/20011119-2.c index e06809f33871..ea1176a8bbcb 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20011119-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20011119-2.c @@ -1,3 +1,4 @@ +/* { dg-options "-fgnu89-inline" } */ /* { dg-require-weak "" } */ /* { dg-require-alias "" } */ #define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) diff --git a/gcc/testsuite/gcc.c-torture/compile/20021120-1.c b/gcc/testsuite/gcc.c-torture/compile/20021120-1.c index 423f8ec1964b..3dc49287f1a2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20021120-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20021120-1.c @@ -4,6 +4,8 @@ /* Verify that GCC doesn't get confused by the redefinition of an extern inline function. */ +/* { dg-options "-fgnu89-inline" } */ + extern int inline foo () { return 0; } extern int inline bar () { return 0; } static int inline bar () { return foo(); } diff --git a/gcc/testsuite/gcc.c-torture/compile/20021120-2.c b/gcc/testsuite/gcc.c-torture/compile/20021120-2.c index 51f0e257dfdd..cd9eda0e55df 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20021120-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20021120-2.c @@ -4,6 +4,8 @@ /* Verify that GCC doesn't get confused by the redefinition of an extern inline function. */ +/* { dg-options "-fgnu89-inline" } */ + extern int inline foo () { return 0; } extern int inline bar () { return 0; } static int bar () { return foo(); } diff --git a/gcc/testsuite/gcc.c-torture/compile/20050215-1.c b/gcc/testsuite/gcc.c-torture/compile/20050215-1.c index e9717797a10d..83d0cb20842f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20050215-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20050215-1.c @@ -1,4 +1,5 @@ /* PR tree-optimization/18947 */ +/* { dg-options "-fgnu89-inline" } */ extern __inline void f1 (void) { } extern __inline void f2 (void) { f1 (); } void f2 (void) {} diff --git a/gcc/testsuite/gcc.c-torture/compile/20050215-2.c b/gcc/testsuite/gcc.c-torture/compile/20050215-2.c index 44550d04ce7d..9feea6acfd91 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20050215-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20050215-2.c @@ -1,4 +1,5 @@ /* PR tree-optimization/18947 */ +/* { dg-options "-fgnu89-inline" } */ int v; extern __inline void f1 (void) { v++; } void f4 (void) { f1 (); } diff --git a/gcc/testsuite/gcc.c-torture/compile/20050215-3.c b/gcc/testsuite/gcc.c-torture/compile/20050215-3.c index 7a35eb6d0c17..67a4f267afe2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20050215-3.c +++ b/gcc/testsuite/gcc.c-torture/compile/20050215-3.c @@ -1,4 +1,5 @@ /* PR tree-optimization/18947 */ +/* { dg-options "-fgnu89-inline" } */ int v; extern __inline void f0 (void) { v++; } extern __inline void f1 (void) { f0 (); } diff --git a/gcc/testsuite/gcc.c-torture/compile/20090721-1.c b/gcc/testsuite/gcc.c-torture/compile/20090721-1.c index 2122b3405d65..928cafa6c7c6 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20090721-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20090721-1.c @@ -1,3 +1,3 @@ /* { dg-options "-fno-tree-sra" } */ union u {double d;long long ll;}; -f(double x, int n){union u v;v.d=x;if(n>=0){v.ll<<=63;}else{v.ll-=1<<-n;v.ll>>=-n;}return v.ll;} +int f(double x, int n){union u v;v.d=x;if(n>=0){v.ll<<=63;}else{v.ll-=1<<-n;v.ll>>=-n;}return v.ll;} diff --git a/gcc/testsuite/gcc.c-torture/compile/pr34808.c b/gcc/testsuite/gcc.c-torture/compile/pr34808.c index 8224061e693d..63be3f6287a2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr34808.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr34808.c @@ -6,6 +6,9 @@ extern int flags; struct r { int code; int val;}; +void bar (void); +void baz (void); + int foo (struct r *home) { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37669.c b/gcc/testsuite/gcc.c-torture/compile/pr37669.c index 68e96c621cf3..c78243b15fce 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37669.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37669.c @@ -1,4 +1,5 @@ /* This testcase used to fail because a miscompiled execute_fold_all_builtins. */ +/* { dg-options "-fgnu89-inline" } */ typedef __SIZE_TYPE__ size_t; extern __inline __attribute__ ((__always_inline__)) int __attribute__ diff --git a/gcc/testsuite/gcc.c-torture/compile/pr42299.c b/gcc/testsuite/gcc.c-torture/compile/pr42299.c index 5a9199f274a3..65a9bf74ffb4 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr42299.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr42299.c @@ -1,5 +1,7 @@ /* { dg-options "-g" } */ +void bar (void); + static int foo (int x, int y) { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr48517.c b/gcc/testsuite/gcc.c-torture/compile/pr48517.c index 30b3ecbb3547..4cfe038220b6 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr48517.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr48517.c @@ -1,6 +1,6 @@ /* PR c/48517 */ /* { dg-do compile } */ -/* { dg-options "" } */ +/* { dg-options "-std=gnu89" } */ void bar (const unsigned short *); diff --git a/gcc/testsuite/gcc.c-torture/compile/simd-6.c b/gcc/testsuite/gcc.c-torture/compile/simd-6.c index 7998e152f89c..3e34128e64a9 100644 --- a/gcc/testsuite/gcc.c-torture/compile/simd-6.c +++ b/gcc/testsuite/gcc.c-torture/compile/simd-6.c @@ -1,3 +1,5 @@ +/* { dg-options "-std=gnu89" } */ + typedef int __attribute__((vector_size (8))) vec; vec a[] = {(vec) {1, 2}, {3, 4}}; diff --git a/gcc/testsuite/gcc.c-torture/execute/20001121-1.c b/gcc/testsuite/gcc.c-torture/execute/20001121-1.c index 3647456f548c..a3c68584905b 100644 --- a/gcc/testsuite/gcc.c-torture/execute/20001121-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/20001121-1.c @@ -1,3 +1,8 @@ +/* { dg-options "-fgnu89-inline" } */ + +extern void abort (void); +extern void exit (int); + double d; __inline__ double foo (void) diff --git a/gcc/testsuite/gcc.c-torture/execute/20020107-1.c b/gcc/testsuite/gcc.c-torture/execute/20020107-1.c index d5bbcc413243..23d8aebf45ee 100644 --- a/gcc/testsuite/gcc.c-torture/execute/20020107-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/20020107-1.c @@ -1,5 +1,6 @@ /* This testcase failed because - 1 - buf was simplified into ~buf and when later expanding it back into - buf + -1, -1 got lost. */ +/* { dg-options "-fgnu89-inline" } */ extern void abort (void); extern void exit (int); diff --git a/gcc/testsuite/gcc.c-torture/execute/920612-1.c b/gcc/testsuite/gcc.c-torture/execute/920612-1.c index bc6300352009..8553de2c5afa 100644 --- a/gcc/testsuite/gcc.c-torture/execute/920612-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/920612-1.c @@ -3,5 +3,5 @@ extern void abort (void); extern void exit (int); -f(j)int j;{return++j>0;} -main(){if(f((~0U)>>1))abort();exit(0);} +int f(j)int j;{return++j>0;} +int main(){if(f((~0U)>>1))abort();exit(0);} diff --git a/gcc/testsuite/gcc.c-torture/execute/920711-1.c b/gcc/testsuite/gcc.c-torture/execute/920711-1.c index f72ef7c54528..de63b8f834d2 100644 --- a/gcc/testsuite/gcc.c-torture/execute/920711-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/920711-1.c @@ -3,5 +3,5 @@ extern void abort (void); extern void exit (int); -f(long a){return (--a > 0);} -main(){if(f(0x80000000L)==0)abort();exit(0);} +int f(long a){return (--a > 0);} +int main(){if(f(0x80000000L)==0)abort();exit(0);} diff --git a/gcc/testsuite/gcc.c-torture/execute/930526-1.c b/gcc/testsuite/gcc.c-torture/execute/930526-1.c index bbf63c6009ac..6b562044d645 100644 --- a/gcc/testsuite/gcc.c-torture/execute/930526-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/930526-1.c @@ -1,5 +1,9 @@ -inline -f (x) +/* { dg-options "-fgnu89-inline" } */ + +extern void exit (int); + +inline void +f (int x) { int *(p[25]); int m[25*7]; @@ -11,6 +15,7 @@ f (x) p[1][0] = 0; } +int main () { f (7); diff --git a/gcc/testsuite/gcc.c-torture/execute/930529-1.c b/gcc/testsuite/gcc.c-torture/execute/930529-1.c index 9c4085ce1a0f..0f3668e7f8e0 100644 --- a/gcc/testsuite/gcc.c-torture/execute/930529-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/930529-1.c @@ -3,8 +3,9 @@ extern void abort (void); extern void exit (int); -dd (x,d) { return x / d; } +int dd (int x, int d) { return x / d; } +int main () { int i; diff --git a/gcc/testsuite/gcc.c-torture/execute/961223-1.c b/gcc/testsuite/gcc.c-torture/execute/961223-1.c index 9bc6cfa354da..d31962aa4542 100644 --- a/gcc/testsuite/gcc.c-torture/execute/961223-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/961223-1.c @@ -1,3 +1,8 @@ +/* { dg-options "-fgnu89-inline" } */ + +extern void exit (int); +extern void abort (void); + struct s { double d; }; @@ -9,6 +14,7 @@ sub (struct s s) return s; } +int main () { struct s t = { 2.0 }; diff --git a/gcc/testsuite/gcc.c-torture/execute/980608-1.c b/gcc/testsuite/gcc.c-torture/execute/980608-1.c index b34d1374903c..f6c15e80bc9d 100644 --- a/gcc/testsuite/gcc.c-torture/execute/980608-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/980608-1.c @@ -1,5 +1,10 @@ +/* { dg-options "-fgnu89-inline" } */ + #include +extern void abort(void); +extern void exit (int); + void f1(int a,int b,int c,int d,int e, int f,int g,int h,int i,int j, int k,int l,int m,int n,int o) { diff --git a/gcc/testsuite/gcc.c-torture/execute/990127-2.c b/gcc/testsuite/gcc.c-torture/execute/990127-2.c index e87d27a3450c..939000ea94e2 100644 --- a/gcc/testsuite/gcc.c-torture/execute/990127-2.c +++ b/gcc/testsuite/gcc.c-torture/execute/990127-2.c @@ -18,6 +18,7 @@ fpTest (double x, double y) fpEq (result1, result2); } +int main () { fpTest (35.7, 45.0); diff --git a/gcc/testsuite/gcc.c-torture/execute/bcp-1.c b/gcc/testsuite/gcc.c-torture/execute/bcp-1.c index 8dd8e22d76b1..19c038bcc5ad 100644 --- a/gcc/testsuite/gcc.c-torture/execute/bcp-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/bcp-1.c @@ -1,3 +1,8 @@ +/* { dg-options "-fgnu89-inline" } */ + +extern void abort (void); +extern void exit (int); + __attribute__ ((externally_visible)) int global; int func(void); diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2c.c b/gcc/testsuite/gcc.c-torture/execute/loop-2c.c index 9facf3bfd92a..17cdaaa095f3 100644 --- a/gcc/testsuite/gcc.c-torture/execute/loop-2c.c +++ b/gcc/testsuite/gcc.c-torture/execute/loop-2c.c @@ -1,6 +1,11 @@ +/* { dg-options "-fgnu89-inline -Wno-pointer-to-int-cast" } */ + +extern void abort (void); +extern void exit (int); + int a[2]; -__inline__ f (b, o) +__inline__ void f (int b, int o) { unsigned int i; int *p; @@ -8,11 +13,13 @@ __inline__ f (b, o) *--p = i * 3 + o; } +void g(int b) { f (b, (int)a); } +int main () { a[0] = a[1] = 0; diff --git a/gcc/testsuite/gcc.c-torture/execute/p18298.c b/gcc/testsuite/gcc.c-torture/execute/p18298.c index 5aff51f5fabc..50589962e229 100644 --- a/gcc/testsuite/gcc.c-torture/execute/p18298.c +++ b/gcc/testsuite/gcc.c-torture/execute/p18298.c @@ -1,5 +1,8 @@ +/* { dg-options "-fgnu89-inline" } */ + #include #include +extern void abort (void); int strcmp (const char*, const char*); char s[2048] = "a"; inline bool foo(const char *str) { diff --git a/gcc/testsuite/gcc.c-torture/execute/pr40386.c b/gcc/testsuite/gcc.c-torture/execute/pr40386.c index 59cd6411fbb3..f39f1defa0e6 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr40386.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr40386.c @@ -25,6 +25,7 @@ long long ll = LL_VALUE; int shift1 = SHIFT1; int shift2 = SHIFT2; +int main () { if (ROR (c, shift1) != ROR (CHAR_VALUE, SHIFT1)) diff --git a/gcc/testsuite/gcc.c-torture/execute/pr53645-2.c b/gcc/testsuite/gcc.c-torture/execute/pr53645-2.c index a03dd2ef8dc2..4638e30388ff 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr53645-2.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr53645-2.c @@ -1,4 +1,5 @@ /* PR tree-optimization/53645 */ +/* { dg-options "-std=gnu89" } */ typedef unsigned short int UV __attribute__((vector_size (16))); typedef short int SV __attribute__((vector_size (16))); diff --git a/gcc/testsuite/gcc.c-torture/execute/pr53645.c b/gcc/testsuite/gcc.c-torture/execute/pr53645.c index 1e70d9e7635d..d86a895356cd 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr53645.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr53645.c @@ -1,4 +1,5 @@ /* PR tree-optimization/53645 */ +/* { dg-options "-std=gnu89" } */ typedef unsigned int UV __attribute__((vector_size (16))); typedef int SV __attribute__((vector_size (16))); diff --git a/gcc/testsuite/gcc.c-torture/execute/pr57124.c b/gcc/testsuite/gcc.c-torture/execute/pr57124.c index ca6015872edc..41c90c516092 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr57124.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr57124.c @@ -4,7 +4,7 @@ extern void abort (void); extern void exit (int); -__attribute__ ((noinline)) +__attribute__ ((noinline)) void foo(short unsigned int *p1, short unsigned int *p2) { short unsigned int x1, x4; @@ -23,6 +23,7 @@ foo(short unsigned int *p1, short unsigned int *p2) exit (0); } +int main() { short unsigned int x, y; @@ -30,4 +31,3 @@ main() y = -10; foo (&x, &y); } - diff --git a/gcc/testsuite/gcc.c-torture/execute/restrict-1.c b/gcc/testsuite/gcc.c-torture/execute/restrict-1.c index 3c5696cb597f..c55286152376 100644 --- a/gcc/testsuite/gcc.c-torture/execute/restrict-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/restrict-1.c @@ -2,6 +2,7 @@ Origin: Jeremy Denise Reduced: Wolfgang Bangerth Volker Reichelt */ +/* { dg-options "-fgnu89-inline" } */ extern void abort (); diff --git a/gcc/testsuite/gcc.c-torture/execute/unroll-1.c b/gcc/testsuite/gcc.c-torture/execute/unroll-1.c index 8812955652f0..5606978539fe 100644 --- a/gcc/testsuite/gcc.c-torture/execute/unroll-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/unroll-1.c @@ -1,3 +1,8 @@ +/* { dg-options "-fgnu89-inline" } */ + +extern void abort (void); +extern void exit (int); + inline int f (int x) { diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c index f45219a56f57..c66cb608458e 100644 --- a/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c +++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c @@ -1,4 +1,8 @@ /* Origin: Franz Sirl */ +/* { dg-options "-fgnu89-inline" } */ + +extern void abort (void); +extern void exit (int); #include diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c index 964833b52819..c3106932463d 100644 --- a/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c +++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c @@ -1,4 +1,8 @@ /* Origin: Franz Sirl */ +/* { dg-options "-fgnu89-inline" } */ + +extern void abort (void); +extern void exit (int); #include #include