This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] gcc.c-torture/ cleanup
- From: Marek Polacek <polacek at redhat dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Mike Stump <mikestump at comcast dot net>, "Joseph S. Myers" <joseph at codesourcery dot com>
- Date: Tue, 30 Sep 2014 17:22:05 +0200
- Subject: [PATCH] gcc.c-torture/ cleanup
- Authentication-results: sourceware.org; auth=none
I did this as a part of preparing the testsuite to cope with the
(possible) gnu11 default. But I think it's a reasonable cleanup
on its own. With gnu11, we'd start to warn about defaulting to
int, missing function declarations, and functions without return
type. I added -fgnu89-inline when a test relies on a gnu89 inline
semantics, and -std=gnu89 if a test relies on gnu89 standard.
I have patches that cover the rest of C testsuite, but let's do this
piecewise.
Tested on x86_64-linux: vanilla results == results with this patch ==
results with this patch and gnu11 as a default.
Does this approach make sense?
2014-09-30 Marek Polacek <polacek@redhat.com>
* 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.
diff --git gcc/gcc/testsuite/gcc.c-torture/compile/20000120-2.c gcc/gcc/testsuite/gcc.c-torture/compile/20000120-2.c
index 737eb92..939c52d 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/20000120-2.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/20011119-1.c gcc/gcc/testsuite/gcc.c-torture/compile/20011119-1.c
index b4b80ae..5d036c9 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/20011119-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/20011119-2.c gcc/gcc/testsuite/gcc.c-torture/compile/20011119-2.c
index e06809f..ea1176a 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/20011119-2.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/20021120-1.c gcc/gcc/testsuite/gcc.c-torture/compile/20021120-1.c
index 423f8ec..3dc4928 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/20021120-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/20021120-2.c gcc/gcc/testsuite/gcc.c-torture/compile/20021120-2.c
index 51f0e25..cd9eda0 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/20021120-2.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/20050215-1.c gcc/gcc/testsuite/gcc.c-torture/compile/20050215-1.c
index e971779..83d0cb2 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/20050215-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/20050215-2.c gcc/gcc/testsuite/gcc.c-torture/compile/20050215-2.c
index 44550d0..9feea6a 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/20050215-2.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/20050215-3.c gcc/gcc/testsuite/gcc.c-torture/compile/20050215-3.c
index 7a35eb6..67a4f26 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/20050215-3.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/20090721-1.c gcc/gcc/testsuite/gcc.c-torture/compile/20090721-1.c
index 2122b34..928cafa 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/20090721-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/pr34808.c gcc/gcc/testsuite/gcc.c-torture/compile/pr34808.c
index 8224061..63be3f6 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/pr34808.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/pr37669.c gcc/gcc/testsuite/gcc.c-torture/compile/pr37669.c
index 68e96c6..c78243b 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/pr37669.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/pr42299.c gcc/gcc/testsuite/gcc.c-torture/compile/pr42299.c
index 5a9199f..65a9bf7 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/pr42299.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/pr48517.c gcc/gcc/testsuite/gcc.c-torture/compile/pr48517.c
index 30b3ecb..4cfe038 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/pr48517.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/compile/simd-6.c gcc/gcc/testsuite/gcc.c-torture/compile/simd-6.c
index 7998e15..3e34128 100644
--- gcc/gcc/testsuite/gcc.c-torture/compile/simd-6.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/20001121-1.c gcc/gcc/testsuite/gcc.c-torture/execute/20001121-1.c
index 3647456..a3c6858 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/20001121-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/20020107-1.c gcc/gcc/testsuite/gcc.c-torture/execute/20020107-1.c
index d5bbcc4..23d8aeb 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/20020107-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/920612-1.c gcc/gcc/testsuite/gcc.c-torture/execute/920612-1.c
index bc63003..8553de2 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/920612-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/920711-1.c gcc/gcc/testsuite/gcc.c-torture/execute/920711-1.c
index f72ef7c..de63b8f 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/920711-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/930526-1.c gcc/gcc/testsuite/gcc.c-torture/execute/930526-1.c
index bbf63c6..e6a21d2 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/930526-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/930529-1.c gcc/gcc/testsuite/gcc.c-torture/execute/930529-1.c
index 9c4085c..0f3668e 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/930529-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/961223-1.c gcc/gcc/testsuite/gcc.c-torture/execute/961223-1.c
index 9bc6cfa..d31962a 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/961223-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/980608-1.c gcc/gcc/testsuite/gcc.c-torture/execute/980608-1.c
index b34d137..f6c15e8 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/980608-1.c
+++ gcc/gcc/testsuite/gcc.c-torture/execute/980608-1.c
@@ -1,5 +1,10 @@
+/* { dg-options "-fgnu89-inline" } */
+
#include <stdarg.h>
+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 gcc/gcc/testsuite/gcc.c-torture/execute/990127-2.c gcc/gcc/testsuite/gcc.c-torture/execute/990127-2.c
index e87d27a..939000e 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/990127-2.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/bcp-1.c gcc/gcc/testsuite/gcc.c-torture/execute/bcp-1.c
index 8dd8e22..19c038b 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/bcp-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/loop-2c.c gcc/gcc/testsuite/gcc.c-torture/execute/loop-2c.c
index 9facf3b..9326ad0 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/loop-2c.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/p18298.c gcc/gcc/testsuite/gcc.c-torture/execute/p18298.c
index 5aff51f..5058996 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/p18298.c
+++ gcc/gcc/testsuite/gcc.c-torture/execute/p18298.c
@@ -1,5 +1,8 @@
+/* { dg-options "-fgnu89-inline" } */
+
#include <stdbool.h>
#include <stdlib.h>
+extern void abort (void);
int strcmp (const char*, const char*);
char s[2048] = "a";
inline bool foo(const char *str) {
diff --git gcc/gcc/testsuite/gcc.c-torture/execute/pr40386.c gcc/gcc/testsuite/gcc.c-torture/execute/pr40386.c
index 59cd641..f39f1de 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/pr40386.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/pr53645-2.c gcc/gcc/testsuite/gcc.c-torture/execute/pr53645-2.c
index a03dd2e..4638e30 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/pr53645-2.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/pr53645.c gcc/gcc/testsuite/gcc.c-torture/execute/pr53645.c
index 1e70d9e..d86a895 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/pr53645.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/pr57124.c gcc/gcc/testsuite/gcc.c-torture/execute/pr57124.c
index ca60158..3148345 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/pr57124.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/restrict-1.c gcc/gcc/testsuite/gcc.c-torture/execute/restrict-1.c
index 3c5696c..c552861 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/restrict-1.c
+++ gcc/gcc/testsuite/gcc.c-torture/execute/restrict-1.c
@@ -2,6 +2,7 @@
Origin: Jeremy Denise <jeremy.denise@libertysurf.fr>
Reduced: Wolfgang Bangerth <bangerth@dealii.org>
Volker Reichelt <reichelt@igpm.rwth-aachen.de> */
+/* { dg-options "-fgnu89-inline" } */
extern void abort ();
diff --git gcc/gcc/testsuite/gcc.c-torture/execute/unroll-1.c gcc/gcc/testsuite/gcc.c-torture/execute/unroll-1.c
index 8812955..5606978 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/unroll-1.c
+++ gcc/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 gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c
index f45219a..c66cb60 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c
+++ gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c
@@ -1,4 +1,8 @@
/* Origin: Franz Sirl <Franz.Sirl-kernel@lauterbach.com> */
+/* { dg-options "-fgnu89-inline" } */
+
+extern void abort (void);
+extern void exit (int);
#include <stdarg.h>
diff --git gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c
index 964833b..c310693 100644
--- gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c
+++ gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c
@@ -1,4 +1,8 @@
/* Origin: Franz Sirl <Franz.Sirl-kernel@lauterbach.com> */
+/* { dg-options "-fgnu89-inline" } */
+
+extern void abort (void);
+extern void exit (int);
#include <stdarg.h>
#include <limits.h>
Marek