diff --git a/gcc/testsuite/gcc.c-torture/execute/20000112-1.c b/gcc/testsuite/gcc.c-torture/execute/20000112-1.c
index 080b6627cbeb5e1853abb07830a32a098e8e4c04..7668821f6d0670e9de0fcc45132d1e4edeb022da 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000112-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000112-1.c
@@ -1,5 +1,8 @@
 #include <string.h>
 
+void abort (void);
+void exit (int);
+
 static int
 special_format (fmt)
      const char *fmt;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000113-1.c b/gcc/testsuite/gcc.c-torture/execute/20000113-1.c
index 8b61dbb2109d3e3920d9277f98addf80995bf6e4..2b1d8683cc29a6b7e27503e1f9e8656897ac854a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000113-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000113-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct x { 
   unsigned x1:1;
   unsigned x2:2;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000205-1.c b/gcc/testsuite/gcc.c-torture/execute/20000205-1.c
index b605b84b6b116f21c8001195e99eab90cd11d5f7..9fd602c68e6ed0197fdaa3f65a26cbd485f3d398 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000205-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000205-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static int f (int a)
 {
   if (a == 0)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000217-1.c b/gcc/testsuite/gcc.c-torture/execute/20000217-1.c
index 42716afbe0b1901b75745560f5b7c15221c1ded4..1953d1e7b64fc64dd9635cc02637d1e15d55fd45 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000217-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000217-1.c
@@ -1,3 +1,6 @@
+void abort(void);
+void exit(int);
+
 unsigned short int showbug(unsigned short int *a, unsigned short int *b)
 {
         *a += *b -8;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000223-1.c b/gcc/testsuite/gcc.c-torture/execute/20000223-1.c
index db6180b757a6a7e44a49aac4240d716ccd529f89..59ab2292d062f0725c22a0942650d20496eac400 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000223-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000223-1.c
@@ -5,6 +5,8 @@
    eg, sizeof(long double) might be 12, but that means it must be alignable
    on a 4 byte boundary. */
 
+void abort (void);
+
 void check (char const *type, int align)
 {
   if ((align & -align) != align)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000224-1.c b/gcc/testsuite/gcc.c-torture/execute/20000224-1.c
index 295cc473b3e1bcbf2503dbde0f6a0958ea6d27d7..f57a92876073834cb67cb8f6fb34394d4ace0139 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000224-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000224-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int loop_1 = 100;
 int loop_2 = 7;
 int flag = 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000225-1.c b/gcc/testsuite/gcc.c-torture/execute/20000225-1.c
index 6c409bcf776ade0a4c4374e94b17028e82ea4ea2..9d66313f6b003b0a990e4b40fc1f485c9619bd8e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000225-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000225-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int main ()
 {
     int nResult;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000227-1.c b/gcc/testsuite/gcc.c-torture/execute/20000227-1.c
index 395a02c50c6e8df061337242efbc4247f955f5a5..4c885af819e584520334df851bdbb942891bda03 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000227-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000227-1.c
@@ -1,3 +1,5 @@
+void abort(void);
+
 static const unsigned char f[] = "\0\377";
 static const unsigned char g[] = "\0я";
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000313-1.c b/gcc/testsuite/gcc.c-torture/execute/20000313-1.c
index 5c9a5569bdc37aa3b17b07d49cddaabc1472b311..90a096d28f2cb4c78f07e709f35b24a70d0b484d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000313-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000313-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 unsigned int buggy (unsigned int *param)
 {
   unsigned int accu, zero = 0, borrow;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000314-1.c b/gcc/testsuite/gcc.c-torture/execute/20000314-1.c
index 09de09493891e44801f6a2e2169050770b87f1a2..e43312969bd5a2e055fad35d48bed82a0c150dd5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000314-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000314-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int main ()
 {
   long winds = 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000314-2.c b/gcc/testsuite/gcc.c-torture/execute/20000314-2.c
index c190d8f79b5e993378619cd7384d89a9d1dbcf72..bd6c33ede88f965095ca4664fb0954fb67e617de 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000314-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000314-2.c
@@ -1,3 +1,6 @@
+void abort(void);
+void exit(int);
+
 typedef unsigned long long uint64;
 const uint64 bigconst = 1ULL << 34;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000314-3.c b/gcc/testsuite/gcc.c-torture/execute/20000314-3.c
index a141bfa6a024d0837a391a908066cccb14938c29..0ecc6052da7205f40d8ba47bea88368712ecf2be 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000314-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000314-3.c
@@ -1,4 +1,5 @@
 extern void abort (void);
+extern void exit (int);
 
 static char arg0[] = "arg0";
 static char arg1[] = "arg1";
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000402-1.c b/gcc/testsuite/gcc.c-torture/execute/20000402-1.c
index 2c9e04fda42b478b5db106775d98dbcabe4bc966..13952e573344ebfef2d9ac74d1e366543297a728 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000402-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000402-1.c
@@ -1,3 +1,6 @@
+void abort(void);
+void exit(int);
+
 #include <limits.h>
 
 #if ULONG_LONG_MAX != 18446744073709551615ull && ULONG_MAX != 18446744073709551615ull
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000403-1.c b/gcc/testsuite/gcc.c-torture/execute/20000403-1.c
index 8bcd6f133cec535db592da3536aae3a67309b9fa..2c7e523299a9a389f8e78045cd19125f7bd4cf47 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000403-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000403-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 extern unsigned long aa[], bb[];
 
 int seqgt (unsigned long a, unsigned short win, unsigned long b);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000412-1.c b/gcc/testsuite/gcc.c-torture/execute/20000412-1.c
index c9f71305df25c09f1d4c5ee177454d9947d818a6..914d5096fd2894bb3ba806b3b3d2d5aeb8b5465d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000412-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000412-1.c
@@ -1,3 +1,6 @@
+void abort(void);
+void exit(int);
+
 short int i = -1;
 const char * const wordlist[207];
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000412-2.c b/gcc/testsuite/gcc.c-torture/execute/20000412-2.c
index de3ebf9e8638683d0f13e3eef6b7d127c177ce5a..9c0c0fe091a2dd13d9482bc701fbbf1b66e1d431 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000412-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000412-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int f(int a,int *y)
 {
   int x = a;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000412-4.c b/gcc/testsuite/gcc.c-torture/execute/20000412-4.c
index f05b151091080b656a196269dcb39ad95c64281f..4e154db982b9f8c8304f2959f45e441cd5831512 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000412-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000412-4.c
@@ -1,3 +1,6 @@
+  void abort (void);
+  void exit (int);
+
   void f(int i, int j, int radius, int width, int N)
   {
     const int diff   = i-radius;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000412-5.c b/gcc/testsuite/gcc.c-torture/execute/20000412-5.c
index c2efb15bc0f47be9a7714b398222df83a76d50fb..bb984fe4a2b591898496ac5459caf17ed03d510d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000412-5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000412-5.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int main( void ) {
     struct {
 	int node;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000412-6.c b/gcc/testsuite/gcc.c-torture/execute/20000412-6.c
index 98e00305197902cb2f1296c07c2a1d908e833d86..fffdc998f0fa8d1c5b77140542435fcf1775fea2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000412-6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000412-6.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned bug (unsigned short value, unsigned short *buffer,
               unsigned short *bufend);
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000419-1.c b/gcc/testsuite/gcc.c-torture/execute/20000419-1.c
index 6127d8b13b0738a58528e5448019846c36089058..93aa1246bf0ceb52c428897c317523a713cbeed4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000419-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000419-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct foo { int a, b, c; };
 
 void
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000422-1.c b/gcc/testsuite/gcc.c-torture/execute/20000422-1.c
index f94d4c5efc21ae903d62e6d505bb5ddd2abdb93e..35ee1914aff3c0a157319309179702a922539705 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000422-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000422-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int ops[13] =
 {
   11, 12, 46, 3, 2, 2, 3, 2, 1, 3, 2, 1, 2
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000503-1.c b/gcc/testsuite/gcc.c-torture/execute/20000503-1.c
index bbf32623f439752dd72ebca6f80d7db0d85ec10c..f3082e34aeaf912cd08b67d736e3793668270772 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000503-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000503-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned long
 sub (int a)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000511-1.c b/gcc/testsuite/gcc.c-torture/execute/20000511-1.c
index b8a41f5e85cb2e550333331c22f96da8b35fd4a4..ba2a0b8c95b0c90b05885417c683632a2501d10b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000511-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000511-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void f (int value, int expect)
 {
   if (value != expect)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000519-1.c b/gcc/testsuite/gcc.c-torture/execute/20000519-1.c
index eec5bdd8fada33ee392eba2d7ec03fa6caf1305a..7eb44130880699748a35481b3d893ec5858c31c1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000519-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000519-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 #include <stdarg.h>
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000519-2.c b/gcc/testsuite/gcc.c-torture/execute/20000519-2.c
index 9635e324240f870c710701dda1f562e37c9cf932..278e493944728f7c7e256389f851499e31b51845 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000519-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000519-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long x = -1L;
 
 int main()
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000523-1.c b/gcc/testsuite/gcc.c-torture/execute/20000523-1.c
index 6382ba4a1bfe6029dcb3831e094eaf45c40eacff..7287bb6c5cd6aac3e65a547293faa4a8b75b99f7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000523-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000523-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 main (void)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000528-1.c b/gcc/testsuite/gcc.c-torture/execute/20000528-1.c
index 20692bf8113584e7a712a0cbc7386d6ffbe259ac..7e9c73d9cf162f4d29289ce303e56422649d50d0 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000528-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000528-1.c
@@ -1,6 +1,9 @@
 /* Copyright (C) 2000  Free Software Foundation  */
 /* Contributed by Alexandre Oliva <aoliva@cygnus.com> */
 
+void abort (void);
+void exit (int);
+
 unsigned long l = (unsigned long)-2;
 unsigned short s;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000603-1.c b/gcc/testsuite/gcc.c-torture/execute/20000603-1.c
index e94a2c8e6dabfb32d98083dc4b1ce6f0d959379a..97317b4fb05e6bbf01e10ea49fbbc9727824fcc3 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000603-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000603-1.c
@@ -2,6 +2,8 @@
    http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_236.htm.  However,
    there seems to be consensus that the presence of a union to aggregate
    struct s1 and struct s2 should make it conforming.  */
+void abort(void);
+
 struct s1 { double d; };
 struct s2 { double d; };
 union u { struct s1 x; struct s2 y; };
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000605-1.c b/gcc/testsuite/gcc.c-torture/execute/20000605-1.c
index b481ecb62b6731d179a7157550789bb933534460..5798cf3fa7667a6b982eabb10d09ec5eda430672 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000605-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000605-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct _RenderInfo RenderInfo;
 struct _RenderInfo
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000605-2.c b/gcc/testsuite/gcc.c-torture/execute/20000605-2.c
index 8a49bc6daee3976ccc69e8a15ff89459b6719ab0..49288aab3a8977ee68f50dfce35f86af45084275 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000605-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000605-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct F { int i; };
 
 void f1(struct F *x, struct F *y)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000605-3.c b/gcc/testsuite/gcc.c-torture/execute/20000605-3.c
index 7ebb27fdb780f8e0c8a2ff9f4e52ccc7d50d8510..00c708323bc0f779562606f0155a5f83e3d1a471 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000605-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000605-3.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 struct F { int x; int y; };
 
 int main()
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000622-1.c b/gcc/testsuite/gcc.c-torture/execute/20000622-1.c
index d853ea840865ca3ef558be2a2304276719f83333..3826f335f2d2e5d460b99377aef6b24a608b45fa 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000622-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000622-1.c
@@ -1,3 +1,6 @@
+void abort(void);
+void exit(int);
+
 long foo(long a, long b, long c)
 {
   if (a != 12 || b != 1 || c != 11)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000717-1.c b/gcc/testsuite/gcc.c-torture/execute/20000717-1.c
index 039ae5f342dd6692d978f8504015f3ed5163fbb5..04ab823668ced1c1aa8e672d699c07f203b3b5d1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000717-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000717-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct trio { int a, b, c; } trio;
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000717-2.c b/gcc/testsuite/gcc.c-torture/execute/20000717-2.c
index 4db9032ec6c028c9a59072670eb3366a3469a31b..ad36a4287426d018c1ddcdae2cfa7f94f0826e5d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000717-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000717-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static void
 compare (long long foo)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000717-5.c b/gcc/testsuite/gcc.c-torture/execute/20000717-5.c
index 49dcbbc66f1760bfa73ab1dc03110417ee574b53..2fd08e7696027436125f6a3997d7a17a9a9852d5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000717-5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000717-5.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct trio { int a, b, c; } trio;
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000722-1.c b/gcc/testsuite/gcc.c-torture/execute/20000722-1.c
index 0ce31917957ca2a072f1e1344476bda80c990a10..b1b58fd7fc540565aa93f8d0a1170ec2793f6463 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000722-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000722-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct s { char *p; int t; };
 
 extern void bar (void);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000726-1.c b/gcc/testsuite/gcc.c-torture/execute/20000726-1.c
index b0ecd29f3fe94dd30c1d7f82fed0286162819e15..ac107ad96a5d08976e415c442afe469895c8baeb 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000726-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000726-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void adjust_xy (short *, short *);
 
 struct adjust_template
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000731-1.c b/gcc/testsuite/gcc.c-torture/execute/20000731-1.c
index 787c29a3b3b6c37dc2ae6becc49b9b764279b2f0..d1ccb5aedcaef816f8fdcc756c95a57c050df66a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000731-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000731-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 double
 foo (void)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000731-2.c b/gcc/testsuite/gcc.c-torture/execute/20000731-2.c
index 112aa1c3a6198d2d268d182013a4a90e1eb14aa7..b5f645bcf5fec4f566506e254ffb809932b9fa4c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000731-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000731-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 main()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000801-3.c b/gcc/testsuite/gcc.c-torture/execute/20000801-3.c
index 8d47a8155fe7593e271f7227719dc9dc55a60494..6982652c5d7e736832c5aec9707a4dbe3a538105 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000801-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000801-3.c
@@ -2,6 +2,9 @@
    to a testcase by Joseph Myers <jsm28@cam.ac.uk>.
 */
 
+void abort (void);
+void exit (int);
+
 typedef struct { } empty;
 
 typedef struct {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000801-4.c b/gcc/testsuite/gcc.c-torture/execute/20000801-4.c
index d293f05c438bc3ebc4de4b4859ee080bfb6806c8..c26ba1441beb38b5fe91342207b8b60e3fb6e7de 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000801-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000801-4.c
@@ -6,6 +6,7 @@
    standard, but was fixed in TC2 and C99; see DRs #060, #092.
 */
 extern void abort (void);
+extern void exit (int);
 
 int
 foo (void)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000808-1.c b/gcc/testsuite/gcc.c-torture/execute/20000808-1.c
index a905aad96dbe380a18c2089764908214e05c035e..8724d2d5c4f836dd05bdc2a01f472a38b30f37ca 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000808-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000808-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct {
   long int p_x, p_y;
 } Point;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000815-1.c b/gcc/testsuite/gcc.c-torture/execute/20000815-1.c
index 22b537f993aff55285f896b6e85b163c7501ded7..0512abef92b6589bf188c2f4601bb0d38a5b7d40 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000815-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000815-1.c
@@ -1,3 +1,5 @@
+void abort(void);
+
 struct table_elt
 {
   void *exp;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000818-1.c b/gcc/testsuite/gcc.c-torture/execute/20000818-1.c
index 0067644bdddd1659c936d8dfa15dd2a58a10579e..7650c53bf94bd83462afb673255cc66164d6aa7d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000818-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000818-1.c
@@ -2,6 +2,9 @@
 
    by Manfred Hollstein <manfredh@redhat.com>  */
 
+void abort (void);
+void exit (int);
+
 void *temporary_obstack;
 
 static int input (void);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000819-1.c b/gcc/testsuite/gcc.c-torture/execute/20000819-1.c
index e1c2769c08d481dc481b6362d8938d9b4c93efa3..f0dab68e2355642a9a23635af73ebb87ecb148a5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000819-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000819-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int a[2] = { 2, 0 };
 
 void foo(int *sp, int cnt)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000822-1.c b/gcc/testsuite/gcc.c-torture/execute/20000822-1.c
index e99bcc2fea3ef1c35f728bd6c9d469ecfdd05f30..66fa14f096dbd4fc3afaa54c433d4dc479b6fb88 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000822-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000822-1.c
@@ -1,5 +1,7 @@
 /* { dg-require-effective-target trampolines } */
 
+void abort (void);
+
 int f0(int (*fn)(int *), int *p)
 {
   return (*fn) (p);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000914-1.c b/gcc/testsuite/gcc.c-torture/execute/20000914-1.c
index 1e8bb0ce73cc5d2835b35802fe17044f29d31801..b8c58ec370c5dd0bc9fc1e7ce568101c87bdfa29 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000914-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000914-1.c
@@ -1,3 +1,5 @@
+extern void abort (void);
+extern void exit (int);
 extern void *malloc(__SIZE_TYPE__);
 
 enum tree_code {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000917-1.c b/gcc/testsuite/gcc.c-torture/execute/20000917-1.c
index 05b00ffe699b37066896b96b9470635b2b17dd73..41615ccd83a0798609220a7d07d940c82c7c9f3d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20000917-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20000917-1.c
@@ -1,6 +1,9 @@
 /* This bug exists in gcc-2.95, egcs-1.1.2, gcc-2.7.2 and probably
    every other version as well.  */
 
+void abort (void);
+void exit (int);
+
 typedef struct int3 { int a, b, c; } int3;
 
 int3
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001009-1.c b/gcc/testsuite/gcc.c-torture/execute/20001009-1.c
index aa691cab2fb1f2b05a6c7c51a18157815035540b..4a3cbeb9baa439e3e2e66a02ca41a5e66a93a055 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001009-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001009-1.c
@@ -1,3 +1,4 @@
+void abort(void);
 int a,b;
 main()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001009-2.c b/gcc/testsuite/gcc.c-torture/execute/20001009-2.c
index eedc299fbcb9734ebfb736ebda67bbcf28185dce..62464b4cd0b0b5f91b61400a13489da5b420a60e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001009-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001009-2.c
@@ -1,3 +1,4 @@
+void abort(void);
 int b=1;
 int foo()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001013-1.c b/gcc/testsuite/gcc.c-torture/execute/20001013-1.c
index 0d139fc8039ca6cf361ea41f8df839de1e54ea21..a41a19e24613365340b5be8b696c8ee22d98e258 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001013-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001013-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct x {
 	int a, b;
 } z = { -4028, 4096 };
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001017-1.c b/gcc/testsuite/gcc.c-torture/execute/20001017-1.c
index f55886f4acd34e7c4d8be7581a0c25b979a991b7..5ca98081cadbe12310c70c49d789406c9ed4ccbb 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001017-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001017-1.c
@@ -1,3 +1,4 @@
+void abort (void);
  
 void bug (double *Cref, char transb, int m, int n, int k,
 	  double a, double *A, int fdA, double *B, int fdB,
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001017-2.c b/gcc/testsuite/gcc.c-torture/execute/20001017-2.c
index 3263bb9b54e7f5ba59d2d51f80927b781adc48e5..5cd9178024c2af74e38442335f7d4197eedc0fa7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001017-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001017-2.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 void
 fn_4parms (unsigned char a, long *b, long *c, unsigned int *d)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001024-1.c b/gcc/testsuite/gcc.c-torture/execute/20001024-1.c
index 42be8abca6acf11d8570502e9fd8326521901c5c..f8c113db7ce4f46a93fcca25d30bc73aa5b7bbbc 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001024-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001024-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct a;
 
 extern int baz (struct a *__restrict x);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001027-1.c b/gcc/testsuite/gcc.c-torture/execute/20001027-1.c
index 89ac9a024dd664b72c2c2fc1dcf526bc4204faf4..c2df3f4547c109032f0adf7c83a257b9d56ee1bd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001027-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001027-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int x,*p=&x;
 
 int main()
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001101.c b/gcc/testsuite/gcc.c-torture/execute/20001101.c
index 475211e25f9710dc34a8007cd426d1dee74850ec..40bf7b855c75496b990de5487a95b95406ba756c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001101.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001101.c
@@ -1,5 +1,6 @@
 /* { dg-require-effective-target untyped_assembly } */
 extern void abort(void);
+extern void exit(int);
 			 
 typedef struct
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001108-1.c b/gcc/testsuite/gcc.c-torture/execute/20001108-1.c
index a2a325534016b8a6c87747773004e59cde2557a6..020c541cb15dd691e587e7487e5ac1f474be045c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001108-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001108-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long long
 signed_poly (long long sum, long x)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001112-1.c b/gcc/testsuite/gcc.c-torture/execute/20001112-1.c
index 6ce2f66516f778915c881321070b9e2ca8ddf5b2..1a769d8fc5bddedf641b9e920ac51635909cfd7c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001112-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001112-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int main ()
 {
   long long i = 1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001124-1.c b/gcc/testsuite/gcc.c-torture/execute/20001124-1.c
index c0ec8cf0446dc73d3eed16e6a08cc38efadfd28f..1a8822c398a7159bd5b340770832d329d7b82d5f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001124-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001124-1.c
@@ -1,3 +1,5 @@
+void abort(void);
+void exit(int);
 
 struct inode {
 	long long		i_size;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001130-1.c b/gcc/testsuite/gcc.c-torture/execute/20001130-1.c
index 4a996ee6ad3a56a850e8e564c666b0907c4a9eb4..515d9d302ef551f058701d2c7aa5801321d1d733 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001130-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001130-1.c
@@ -1,3 +1,4 @@
+void abort(void);
 static inline int bar(void) { return 1; }
 static int mem[3];
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001130-2.c b/gcc/testsuite/gcc.c-torture/execute/20001130-2.c
index c4ef6c7da065f8630e9227e4c44f060e1175ac5b..91b1db154ce522915109a0edfea91fd210cfe307 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001130-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001130-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static int which_alternative = 3;
 
 static const char *i960_output_ldconst (void);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001203-2.c b/gcc/testsuite/gcc.c-torture/execute/20001203-2.c
index 03aabed9351612f8c153633adaf31635f3714a2d..20eed72abfaebbfad6d7217bc5c6056535723cd5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001203-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001203-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct obstack
 {
   long chunk_size;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001221-1.c b/gcc/testsuite/gcc.c-torture/execute/20001221-1.c
index 4b6cc2b450b6aa92835dd62e4357b4eeeede7779..d356d1608141687a3e4d31388c2a06d517f1b144 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001221-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001221-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int main ()
 {
   unsigned long long a;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001228-1.c b/gcc/testsuite/gcc.c-torture/execute/20001228-1.c
index 9c93e79f571ff808b7a50c3d83730a5dd57a543b..0b8d08f618540ecbc7ed756cb2f352dd25046054 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001228-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001228-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int foo1(void)
 {
   union {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001229-1.c b/gcc/testsuite/gcc.c-torture/execute/20001229-1.c
index 69ce6dab86df8dd091d63f320ebe6b3bf285827b..3bf333dd5a8e2767c6ab9cb15f34f48cca61af62 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20001229-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20001229-1.c
@@ -6,7 +6,10 @@
 
    So: If we know how, ask the kernel to deliver SIGBUS instead so
    that the test case visibly fails.  */
-   
+
+void abort (void);
+void exit (int);
+
 #if defined(__alpha__) && defined(__linux__)
 #include <asm/sysinfo.h>
 #include <asm/unistd.h>
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010106-1.c b/gcc/testsuite/gcc.c-torture/execute/20010106-1.c
index 9e149c314629b0e0f31b019b2f396bcedf81e9b8..15ed1c13cb3341469835a1ecd0a753abc7c3ed94 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010106-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010106-1.c
@@ -1,6 +1,9 @@
 /* Copyright 2001 Free Software Foundation
    Contributed by Alexandre Oliva <aoliva@redhat.com> */
 
+void abort (void);
+void exit (int);
+
 int f(int i) {
   switch (i)
   {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010118-1.c b/gcc/testsuite/gcc.c-torture/execute/20010118-1.c
index ee5197c9d9fc019414305a3ac02449632eadb17c..b03defb649c93506f2f357b552847592a400d135 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010118-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010118-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct {
   int a, b, c, d, e, f;
 } A;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010119-1.c b/gcc/testsuite/gcc.c-torture/execute/20010119-1.c
index c2a691a39e729b92de292967d49dd78a386f6332..9813d08faa613cc4f8ce229a7b015c16ec6068d7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010119-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010119-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 #ifdef __OPTIMIZE__
 extern void undef (void);
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010206-1.c b/gcc/testsuite/gcc.c-torture/execute/20010206-1.c
index 3aa8cad86625ac59de953fbaf497554c71f98b8f..5b23b25313109d96fb34aaeed1edf423b7e3350e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010206-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010206-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int foo (void)
 {
   int i;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010209-1.c b/gcc/testsuite/gcc.c-torture/execute/20010209-1.c
index 1df7332f209638bcca93af88a4839c8c842492c8..58f07d847a19b1206d5ed7da73f4308ab4f14260 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010209-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010209-1.c
@@ -1,4 +1,7 @@
 /* { dg-require-effective-target alloca } */
+void abort (void);
+void exit (int);
+
 int b;
 int foo (void)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010221-1.c b/gcc/testsuite/gcc.c-torture/execute/20010221-1.c
index 3caff81931a0a79d35f5c453590a94aec04fd3a4..a2abfadba3a3af4b37d7f6cdae15be9a26f36277 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010221-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010221-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+void exit (int);
 
 int n = 2;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010222-1.c b/gcc/testsuite/gcc.c-torture/execute/20010222-1.c
index c3a2b18e5f02fe595a053f2dfbdbacb76288ca0f..a6c819c32a3167cdb52d601dbb29174c6e1d2dfc 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010222-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010222-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int a[2] = { 18, 6 };
 
 int main ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010329-1.c b/gcc/testsuite/gcc.c-torture/execute/20010329-1.c
index e28d6d7c72e910b40c9bb4c8fc87ca68b636845c..48ac490a56f46a93cbbedf65808c7ba95c6f5cd6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010329-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010329-1.c
@@ -1,5 +1,8 @@
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 int main (void)
 {
   void *x = ((void *)((unsigned int)INT_MAX + 2));
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010403-1.c b/gcc/testsuite/gcc.c-torture/execute/20010403-1.c
index 6a8f2a4242ceee52faa2ce1caa2bff5e86bf24a8..e6ceda2567422455797d9aa6972c616ab61ffa83 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010403-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010403-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void b (int *);
 void c (int, int);
 void d (int);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010409-1.c b/gcc/testsuite/gcc.c-torture/execute/20010409-1.c
index 95a5dc34401663fda5cac112e885270a383402f1..2f101f520993de12f7dda7b6ae42007d77e7508f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010409-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010409-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef __SIZE_TYPE__ size_t;
 extern size_t strlen (const char *s);
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010422-1.c b/gcc/testsuite/gcc.c-torture/execute/20010422-1.c
index 5c6bccc9ed134d6312ed8c4d55802492da0d7d4b..304bc71db52f485b7d504ac3792dae291d798923 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010422-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010422-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned int foo(unsigned int x)
 {
   if (x < 5)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010518-1.c b/gcc/testsuite/gcc.c-torture/execute/20010518-1.c
index 94b2d8f6f2546253948617015930ddb772ca5a65..84a44789bf28b67601869dee34b447582b29b415 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010518-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010518-1.c
@@ -1,5 +1,8 @@
 /* Leaf functions with many arguments.  */
 
+void abort (void);
+void exit (int);
+
 int
 add (int a,
     int b,
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010518-2.c b/gcc/testsuite/gcc.c-torture/execute/20010518-2.c
index 1990f8e63bcf1ec2579c3265ff03ffffb7a76a8b..66e29e2ca36ef3101fa6c057c37cc3b5fd60c6cd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010518-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010518-2.c
@@ -1,5 +1,8 @@
 /* Mis-aligned packed structures.  */
 
+void abort (void);
+void exit (int);
+
 typedef struct
 {
   char b0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010520-1.c b/gcc/testsuite/gcc.c-torture/execute/20010520-1.c
index fa94418ca960d4415d57b367c9000cee48a66e2b..255a46392b7cc1a40e647f580d743cc83ac747f4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010520-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010520-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static unsigned int expr_hash_table_size = 1;
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010604-1.c b/gcc/testsuite/gcc.c-torture/execute/20010604-1.c
index e0deaf524f0766588c1275cc55acad53a168b246..0440ab3b7675a4d03fe330f34fb243d55c59581a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010604-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010604-1.c
@@ -1,5 +1,8 @@
 #include <stdbool.h>
 
+void abort (void);
+void exit (int);
+
 int f (int a, int b, int c, _Bool d, _Bool e, _Bool f, char g)
 {
   if (g != 1 || d != true || e != true || f != true) abort ();
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010711-1.c b/gcc/testsuite/gcc.c-torture/execute/20010711-1.c
index 12971a55a155edceb2966c799a7579dab6731dee..b4b16399249486e95dd8def6f4ce123d9394aa47 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010711-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010711-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void foo (int *a) {}
 
 int main ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010723-1.c b/gcc/testsuite/gcc.c-torture/execute/20010723-1.c
index 9d4b29f68980695877570838ec9cb3d8dd269453..d29cb6bfb3763b6244c5312f68ffc2666ff95042 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010723-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010723-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 test ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010904-1.c b/gcc/testsuite/gcc.c-torture/execute/20010904-1.c
index cb4d759e6b87df1902525b3455ae132903fab04b..ca842b7505447d0b51fb517ad7986803162f2a8d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010904-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010904-1.c
@@ -6,6 +6,9 @@
 #define alignment 32
 #endif
 
+void abort (void);
+void exit (int);
+
 typedef struct x { int a; int b; } __attribute__((aligned(alignment))) X;
 typedef struct y { X x[32]; int c; } Y;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010904-2.c b/gcc/testsuite/gcc.c-torture/execute/20010904-2.c
index a0f2626e766b51645776ca6a51225ca2623f5173..60dc664b999f4f814df1dc4aeb3c7bebe3da01dc 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010904-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010904-2.c
@@ -6,6 +6,9 @@
 #define alignment 32
 #endif
 
+void abort (void);
+void exit (int);
+
 typedef struct x { int a; int b; } __attribute__((aligned(alignment))) X;
 typedef struct y { X x; X y[31]; int c; } Y;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010915-1.c b/gcc/testsuite/gcc.c-torture/execute/20010915-1.c
index 5a04bf58f10caba75961d55d4892c21fdc7d81ef..27c5fd39aa11dc4c4ab958046d43b2fc3063b282 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010915-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010915-1.c
@@ -1,6 +1,9 @@
 /* Bug in reorg.c, deleting the "++" in the last loop in main.
    Origin: <hp@axis.com>.  */
 
+void abort (void);
+void exit (int);
+
 extern void f (void);
 extern int x (int, char **);
 extern int r (const char *);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010924-1.c b/gcc/testsuite/gcc.c-torture/execute/20010924-1.c
index 247f51ce64cb4bacca0c7710f85edaeade2926a6..854246847bf898b76116e08c884ea6b11537053f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010924-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010924-1.c
@@ -1,6 +1,8 @@
 /* Verify that flexible arrays can be initialized from STRING_CST
    constructors. */
 
+void abort(void);
+
 /* Baselines.  */
 struct {
   char a1c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20011024-1.c b/gcc/testsuite/gcc.c-torture/execute/20011024-1.c
index 5b871bbb9ec7c7852ab9d49f92774a867d4e1505..f76f77f5df70e4576b5926a4b718ed58f3c595a5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20011024-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20011024-1.c
@@ -2,6 +2,7 @@
    any memory.  */
 
 typedef __SIZE_TYPE__ size_t;
+extern void abort (void);
 extern void *memcpy (void *dest, const void *src, size_t n);
 extern size_t strlen (const char *s);
 extern int strcmp (const char *s1, const char *s2) __attribute__((pure));
diff --git a/gcc/testsuite/gcc.c-torture/execute/20011109-1.c b/gcc/testsuite/gcc.c-torture/execute/20011109-1.c
index 0f013d3b5656d407eb71cf998c44180ec9870c7d..6a35c20a34fb0ab7bb5d486bcc7f40fb699b6b94 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20011109-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20011109-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void fail1(void)
 {
   abort ();
diff --git a/gcc/testsuite/gcc.c-torture/execute/20011109-2.c b/gcc/testsuite/gcc.c-torture/execute/20011109-2.c
index 1abbbf2f6dadeda681f6eb79a9712e1303f04d33..25f72358cd3b3b989d0e425072e89d47318a7711 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20011109-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20011109-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int main(void)
 {
   char *c1 = "foo";
diff --git a/gcc/testsuite/gcc.c-torture/execute/20011114-1.c b/gcc/testsuite/gcc.c-torture/execute/20011114-1.c
index 9746c1e1d6fa4e50355cb2999c2ad7759b4ebce9..f47190c3192d753f6317849e1509e8b36727dbff 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20011114-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20011114-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 char foo(char bar[])
 {
   return bar[1];
diff --git a/gcc/testsuite/gcc.c-torture/execute/20011121-1.c b/gcc/testsuite/gcc.c-torture/execute/20011121-1.c
index 3e3d03a32ece9c3db41d274d9271516567176ca6..6fc45be294ec3878129d642fb74920f08fef2621 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20011121-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20011121-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct s
 {
   int i[18];
diff --git a/gcc/testsuite/gcc.c-torture/execute/20011126-1.c b/gcc/testsuite/gcc.c-torture/execute/20011126-1.c
index ede938b00427b8e2445f1d7c6eb43261a590bad3..134abbcb3ff5c0149a2c9eaf02cf70def81d28e9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20011126-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20011126-1.c
@@ -1,5 +1,7 @@
 /* Produced a overflow in ifcvt.c, causing S to contain 0xffffffff7fffffff.  */
 
+void abort (void);
+
 int a = 1;
 
 int main ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/20011128-1.c b/gcc/testsuite/gcc.c-torture/execute/20011128-1.c
index d1f777a3db79b1316f6a37600f09365b9ce3b97e..24a2b4bdbcffd484fcfb3e8ae2a455c28167807c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20011128-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20011128-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 main()
 {
   char blah[33] = "01234567890123456789";
diff --git a/gcc/testsuite/gcc.c-torture/execute/20011217-1.c b/gcc/testsuite/gcc.c-torture/execute/20011217-1.c
index af9919f2dc1fcb432b31f642824aafac40d4dace..b61bd8b64d48c5fc9237eafeb44a697b58c190b3 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20011217-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20011217-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 main()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020213-1.c b/gcc/testsuite/gcc.c-torture/execute/20020213-1.c
index f9fefee26f76fd03477e79124799917bbbcb3886..5d012d33756e00b36dbf0494ed4045524867bae6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020213-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020213-1.c
@@ -3,6 +3,7 @@
    incorrectly assumed it is safe to first write into a.a2 b-1
    and then read the original value from it.  */
 
+void abort (void);
 int bar (float);
 
 struct A {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020215-1.c b/gcc/testsuite/gcc.c-torture/execute/20020215-1.c
index f1f46d57d088892444693e263b104d3773b8f3a4..e1781fc4c52aad5f866128f94a4b8bebc9ffe064 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020215-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020215-1.c
@@ -11,6 +11,9 @@
    find_dummy_reload would return (reg:SI 1) for the subreg reload,
    despite that not being a valid register.  */
 
+void abort (void);
+void exit (int);
+
 struct s
 {
   short i1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020225-2.c b/gcc/testsuite/gcc.c-torture/execute/20020225-2.c
index 5c91596096bb481ade1a54af210d06faee5587b8..64fba1b529c48b2b8224d272e679b86586ace74f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020225-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020225-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static int 
 test(int x)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020226-1.c b/gcc/testsuite/gcc.c-torture/execute/20020226-1.c
index 6372ffc27c4497fe1a5d134e4ad4b2ccd16c717a..2a6459f3090450b9974593c5553a324ae7a52987 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020226-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020226-1.c
@@ -2,6 +2,9 @@
 
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef CHAR_BIT
 #define CHAR_BIT 8
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020227-1.c b/gcc/testsuite/gcc.c-torture/execute/20020227-1.c
index 0f83088bff9f03b95898005203c5792171107184..04931e6d061261709593ae3881e2e7d7eb32d4c8 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020227-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020227-1.c
@@ -2,6 +2,9 @@
    to an unaligned mem:SC, gcc tried doing it by parts from a (concat:SC
    (reg:SF 293) (reg:SF 294)).  */
 
+void abort (void);
+void exit (int);
+
 typedef __complex__ float cf;
 struct x { char c; cf f; } __attribute__ ((__packed__));
 extern void f2 (struct x*);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020307-1.c b/gcc/testsuite/gcc.c-torture/execute/20020307-1.c
index c6379de3e8bb957fe94f9aeb410744f08772a2b5..08999eebedbcc469c28a0d1089659f20b017ae07 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020307-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020307-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 #define MASK(N) ((1UL << (N)) - 1)
 #define BITS(N) ((1UL << ((N) - 1)) + 2)
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020328-1.c b/gcc/testsuite/gcc.c-torture/execute/20020328-1.c
index 4b6f2bf4e211aa8f375af0c5a49cf8d8f52ca328..f32fdbf19f9a01efcc0f916db01766cf95a04299 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020328-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020328-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int b = 0;
 
 func () { }
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020404-1.c b/gcc/testsuite/gcc.c-torture/execute/20020404-1.c
index 34173e520f186c145519a798883d26285ce91149..53b340834005686bb75c79d7a0d6db9c172195ea 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020404-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020404-1.c
@@ -2,6 +2,9 @@
 /* { dg-skip-if "pointers can be truncated" { m32c-*-* } } */
 /* Extracted from GDB sources. */
 
+void abort (void);
+void exit (int);
+
 typedef long long bfd_signed_vma;
 typedef bfd_signed_vma file_ptr;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020406-1.c b/gcc/testsuite/gcc.c-torture/execute/20020406-1.c
index 69a82f6589a4692f6905785e8565b4ba9dcb7901..bb5d4980220c7a25ca38ebbcc88b2ee7501af384 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020406-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020406-1.c
@@ -1,6 +1,7 @@
 // Origin: abbott@dima.unige.it
 // PR c/5120
 
+extern void abort (void);
 extern void * malloc (__SIZE_TYPE__);
 extern void * calloc (__SIZE_TYPE__, __SIZE_TYPE__);
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020413-1.c b/gcc/testsuite/gcc.c-torture/execute/20020413-1.c
index fdef9eed7d57cc26a1bd6235da0933f6b92cafa1..fcc4c889c0357edaa46812ab7f0cc58ff936bf28 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020413-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020413-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void test(long double val, int *eval)
 {
   long double tmp = 1.0l;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020418-1.c b/gcc/testsuite/gcc.c-torture/execute/20020418-1.c
index 4826ca88664c1ecd2b5a93c5340352ad737526c8..7edea90f1672fa2fcf49888ef5b2e3e7fa31ac6a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020418-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020418-1.c
@@ -1,6 +1,8 @@
 /* ifcvt accidentally deletes a referenced label while generating
    conditional traps on machines having such patterns */
 
+void exit (int);
+
 struct foo { int a; };
 
 void gcc_crash(struct foo *p)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020508-1.c b/gcc/testsuite/gcc.c-torture/execute/20020508-1.c
index 612be8dcc23e86032f4cfe637db14c38e7007d0f..0de335546eeba7e9da19318008922cdd34f729e5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020508-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020508-1.c
@@ -2,6 +2,9 @@
 
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef CHAR_BIT
 #define CHAR_BIT 8
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020508-2.c b/gcc/testsuite/gcc.c-torture/execute/20020508-2.c
index 533805a969eee3648a345707b6486612fabc7904..7e3c7525b34cebc837051cdfc6b44194e80d71e4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020508-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020508-2.c
@@ -1,5 +1,8 @@
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef CHAR_BIT
 #define CHAR_BIT 8
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020508-3.c b/gcc/testsuite/gcc.c-torture/execute/20020508-3.c
index b41adffda9986cc29f13d0e0b10a0749b38474c5..1583ece57c4d5e6b2a56b167802384606e0dff2d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020508-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020508-3.c
@@ -1,5 +1,8 @@
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef CHAR_BIT
 #define CHAR_BIT 8
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020529-1.c b/gcc/testsuite/gcc.c-torture/execute/20020529-1.c
index 160a716ba5bf574f4f20a6ea9ec84f4760bd6d29..d34fec160fab7c50a9eb2969f9023021094314c7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020529-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020529-1.c
@@ -16,6 +16,9 @@
    Reported to nvidia 2016-05-18.  */
 /* { dg-skip-if "PTX assembler bug" { nvptx-*-* } { "-O0" } { "" } } */
 
+void abort (void);
+void exit (int);
+
 struct xx
  {
    int a;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020611-1.c b/gcc/testsuite/gcc.c-torture/execute/20020611-1.c
index 87fb717cf231b07177eca1ea1e6fb9d246f9d7a8..92cf6fb8004dbdee5423d4e2f52db589c4ce31ef 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020611-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020611-1.c
@@ -1,6 +1,9 @@
 /* PR target/6997.  Missing (set_attr "cc" "none") in sleu pattern in
    cris.md.  Testcase from hp@axis.com.  */
 
+void abort (void);
+void exit (int);
+
 int p;
 int k;
 unsigned int n;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020615-1.c b/gcc/testsuite/gcc.c-torture/execute/20020615-1.c
index 89bf7d046ab216b8465777ee5ee09f2818d84769..52064bf9fa7ed0b13bbb68ac35afd3a6ccdc4284 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020615-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020615-1.c
@@ -4,6 +4,9 @@
    epilogue delay-slot set the return-value register with the testcase
    below.  Derived from ghostscript-6.52 (GPL) by hp@axis.com.  */
 
+void abort (void);
+void exit (int);
+
 typedef struct font_hints_s {
   int axes_swapped;
   int x_inverted, y_inverted;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020619-1.c b/gcc/testsuite/gcc.c-torture/execute/20020619-1.c
index 1a1503e8930af5e0d8db9e60ef2979d49c11e9f5..2715f3f397d8c25e1f6872a0bf40bfc4af48e972 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020619-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020619-1.c
@@ -1,3 +1,4 @@
+void abort (void);
 #if (__SIZEOF_INT__ == 4)
 typedef int int32;
 #elif (__SIZEOF_LONG__ == 4)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020904-1.c b/gcc/testsuite/gcc.c-torture/execute/20020904-1.c
index 24eeb0cb0a0b3151c3601919e590df36ed7459b7..2526d3918086d1150347d9b388d258860ad5a74c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020904-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020904-1.c
@@ -3,6 +3,8 @@
 /* Verify that GCC zero-extends integer constants
    in unsigned binary operations. */
 
+void abort (void);
+
 typedef unsigned char u8;
 
 u8 fun(u8 y)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020916-1.c b/gcc/testsuite/gcc.c-torture/execute/20020916-1.c
index 3f2db15d019573a04530cc8c6a372eed4529ec7e..75e5f6d0f6ba8fb4ffff3f3114c8f5960ce13d8b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020916-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20020916-1.c
@@ -1,6 +1,8 @@
 /* Distilled from try_pre_increment in flow.c.  If-conversion inserted
    new instructions at the wrong place on ppc.  */
 
+void abort(void);
+
 int foo(int a)
 {
   int x;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20021010-1.c b/gcc/testsuite/gcc.c-torture/execute/20021010-1.c
index d742ce40b5fb142466808e71692d4e73db9a4c27..5924d501465b4ce2281178bcbdfbcf9d7a2725cf 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20021010-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20021010-1.c
@@ -1,5 +1,8 @@
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 int
 sub ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20021113-1.c b/gcc/testsuite/gcc.c-torture/execute/20021113-1.c
index 8226d3a85662ba610b955dbc47a8539da9412f73..d87235ffea11c64991b3cb3a554d9ac51ac62c31 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20021113-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20021113-1.c
@@ -3,6 +3,9 @@
 /* This program tests a data flow bug that would cause constant propagation
    to propagate constants through function calls.  */
 
+void abort (void);
+void exit (int);
+
 foo (int *p)
 {
   *p = 10;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20021118-1.c b/gcc/testsuite/gcc.c-torture/execute/20021118-1.c
index 0c1f800de76f84e1fef0fb0ec307cd85f0319b0a..7b9202e8e8a105203e974504902490365011fa1d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20021118-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20021118-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct s { int f[4]; };
 
 int foo (struct s s, int x1, int x2, int x3, int x4, int x5, int x6, int x7)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20021118-2.c b/gcc/testsuite/gcc.c-torture/execute/20021118-2.c
index 5c8c5484f81072b037767c8279dc7b0db2df089c..e883ace6c757a8548a2055665d409f1004c6a36a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20021118-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20021118-2.c
@@ -1,6 +1,9 @@
 /* Originally added to test SH constant pool layout.  t1() failed for
    non-PIC and t2() failed for PIC.  */
 
+void abort (void);
+void exit (int);
+
 int t1 (float *f, int i,
 	void (*f1) (double),
 	void (*f2) (float, float))
diff --git a/gcc/testsuite/gcc.c-torture/execute/20021120-1.c b/gcc/testsuite/gcc.c-torture/execute/20021120-1.c
index 491d5d6a08142a48b5b6d90f4b1cc41f5b7720a0..68043cc949cbf8c986c2104e4338557ef34a3641 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20021120-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20021120-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 /* Macros to emit "L Nxx R" for each octal number xx between 000 and 037.  */
 #define OP1(L, N, R, I, J) L N##I##J R
 #define OP2(L, N, R, I) \
diff --git a/gcc/testsuite/gcc.c-torture/execute/20021120-2.c b/gcc/testsuite/gcc.c-torture/execute/20021120-2.c
index d8876c0ebfa8fd9d5f7ba8bd810fe892775ae457..343f51e2df792ee0df8c07d0863da021cc3d2555 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20021120-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20021120-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int g1, g2;
 
 void foo (int x)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20021120-3.c b/gcc/testsuite/gcc.c-torture/execute/20021120-3.c
index e875f1f45c473af0b04907013cbef68f966de9e7..c9320c57531f169b6fa8e210c6aa5ba7f49f126b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20021120-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20021120-3.c
@@ -1,6 +1,10 @@
 /* Test whether a partly call-clobbered register will be moved over a call.
    Although the original test case didn't use any GNUisms, it proved
    difficult to reduce without the named register extension.  */
+
+void abort (void);
+void exit (int);
+
 #if __SH64__ == 32
 #define LOC asm ("r10")
 #else
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030105-1.c b/gcc/testsuite/gcc.c-torture/execute/20030105-1.c
index 19f3b2ddb126bdd2cf0b00bd282ad56b6636eb76..c2a9a8da1de91f1639689f2e463135cfbf554116 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030105-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030105-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int __attribute__ ((noinline))
 foo ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030109-1.c b/gcc/testsuite/gcc.c-torture/execute/20030109-1.c
index 1bea931f64ca9fc8bcdb0cf016b48d2d30217a18..b54a15345fa9c8f87074d8b419b282124d13d88f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030109-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030109-1.c
@@ -2,6 +2,8 @@
 /* Verify that an empty initializer inside a partial
    parent initializer doesn't confuse GCC.  */
 
+void abort (void);
+
 struct X
 {
   int a;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030117-1.c b/gcc/testsuite/gcc.c-torture/execute/20030117-1.c
index 656bd61ed0ab9cfb1957e9b8c1124f0eca4a158f..e7b62285484341f3729237ef8cd7bb1f1ace7ef2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030117-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030117-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int foo (int, int, int);
 int bar (int, int, int);
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030120-1.c b/gcc/testsuite/gcc.c-torture/execute/20030120-1.c
index 0ac0ecf7025879e1f8bbcf856e204499c89c2d86..ab088e4553c3216d31a880d7a57fbf032c54cc74 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030120-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030120-1.c
@@ -1,6 +1,9 @@
 /* On H8/300 port, NOTICE_UPDATE_CC had a bug that causes the final
    pass to remove test insns that should be kept.  */
 
+void abort (void);
+void exit (int);
+
 unsigned short
 test1 (unsigned short w)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030125-1.c b/gcc/testsuite/gcc.c-torture/execute/20030125-1.c
index 39578e51d1524e207c81d80135eb0efee0e41631..2255d80d0d52ccf4d162ac3caff5d7f748284ef3 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030125-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030125-1.c
@@ -1,6 +1,7 @@
 /* Verify whether math functions are simplified.  */
 /* { dg-require-effective-target c99_runtime } */
 /* { dg-require-weak "" } */
+void abort(void);
 double sin(double);
 double floor(double);
 float 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030128-1.c b/gcc/testsuite/gcc.c-torture/execute/20030128-1.c
index ceca322ccaf51f0e008b7ad4d1508bde1fc77bde..fb15fe2b8fdf6721846448b74a0dabc5dcec7b4c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030128-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030128-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned char x = 50;
 volatile short y = -5;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030209-1.c b/gcc/testsuite/gcc.c-torture/execute/20030209-1.c
index 52f71ec35433cf8ea8672a3a220cb87c5bd91b99..38e3a17df5228b23ad1f7bcd2cbf7c3dbf053fd9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030209-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030209-1.c
@@ -1,5 +1,8 @@
 /* { dg-require-stack-size "8*100*100" } */
 
+void abort (void);
+void exit (int);
+
 double x[100][100];
 int main ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030222-1.c b/gcc/testsuite/gcc.c-torture/execute/20030222-1.c
index d395b8dbc9c3afdcde8684f074807f07564e27c0..d619b8159b4c77e05df677a899f6b0a1aa5a4863 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030222-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030222-1.c
@@ -6,6 +6,9 @@
 /* { dg-skip-if "asm requires register allocation" { nvptx-*-* } } */
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 void
 ll_to_int (long long x, volatile int *p)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030316-1.c b/gcc/testsuite/gcc.c-torture/execute/20030316-1.c
index bde2e136ad3fdc84e09b79baaa763257e1d2e4d8..46e5bf48cfc9b65334aa4073fea7d1d403ea4a0f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030316-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030316-1.c
@@ -1,6 +1,8 @@
 /* PR target/9164 */
 /* The comparison operand was sign extended erraneously.  */
 
+void abort (void);
+
 int
 main (void)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030403-1.c b/gcc/testsuite/gcc.c-torture/execute/20030403-1.c
index cbf1351c4be71f1ad78bcbd1670b0cdc422c04dc..9e9df8bf9dde798a5262c86ae5ac036ecff2be77 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030403-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030403-1.c
@@ -3,6 +3,8 @@
 
 #include <limits.h>
 
+void abort (void);
+
 int
 main ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030404-1.c b/gcc/testsuite/gcc.c-torture/execute/20030404-1.c
index 1dd1ec09906338b4b0259d241fdf93f7eb4537af..a1463c1070a54e51222901a41bdbc39517d4fcbd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030404-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030404-1.c
@@ -2,6 +2,8 @@
    defined, CCP was not traversing the edges out of the if(), which caused
    the PHI node for 'k' at the top of the while to only be visited once.
    This ended up causing CCP to think that 'k' was the constant '1'.  */
+void abort (void);
+
 main()
 {
   int i, j, k;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030501-1.c b/gcc/testsuite/gcc.c-torture/execute/20030501-1.c
index f47dc291bd3d323c932be8029184eb595cc8e84e..f54a51e1397a07693d9a5ede36609862578b7472 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030501-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030501-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 main (int argc, char **argv)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030606-1.c b/gcc/testsuite/gcc.c-torture/execute/20030606-1.c
index 51054d90a2557546a6fc8a42d3813c49b8de1c17..e1c12d18e49d6c8f2834ee8ac8c24b6fa2a56b74 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030606-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030606-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+void exit (int);
 
 int * foo (int *x, int b)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030828-1.c b/gcc/testsuite/gcc.c-torture/execute/20030828-1.c
index e8c1f0195df439918d93010150de136dc2d0e63f..15408c30d248ea87a5d5f9cf953e25ef0b5e976a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030828-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030828-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 const int *p;
 
 int bar (void)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030828-2.c b/gcc/testsuite/gcc.c-torture/execute/20030828-2.c
index 0c3a195e626fa9693642c21cfa0d2bc40a731d77..7828a7d31c31441db06d16baf99e50e74331d07f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030828-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030828-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct rtx_def
 {
   int code;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030903-1.c b/gcc/testsuite/gcc.c-torture/execute/20030903-1.c
index 95dad576f2db95a7d0eee99c10a2079714fed304..2ae5e6833325c2ce69e2df3428d20d1a426b9710 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030903-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030903-1.c
@@ -2,6 +2,8 @@
    the entire set of possibilities.  Such an assumption is false for C,
    but true for other languages.  */
 
+void abort (void);
+
 enum X { X1 = 1, X2, X3, X4 };
 static volatile enum X test = 0;
 static void y(int);
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030910-1.c b/gcc/testsuite/gcc.c-torture/execute/20030910-1.c
index 6c849134a9b008d5758e85da1bf62fe1d4153063..8710cf35d612e776ff2daba2ed3fea3eb4a0a8de 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030910-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030910-1.c
@@ -2,6 +2,9 @@
    nodes.  These need to be treated like a COMPONENT_REF so their address can
    be taken.  */
 
+void abort (void);
+void exit (int);
+
 int main()
 {
   __complex double dc;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030913-1.c b/gcc/testsuite/gcc.c-torture/execute/20030913-1.c
index ed8724bc2441d76170a03ba450371dd683a125b1..ffd55a14983674804f4e5fcd748d749f40884a80 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030913-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030913-1.c
@@ -1,6 +1,9 @@
 /* Assignments via pointers pointing to global variables were being killed
    by SSA-DCE.  Test contributed by Paul Brook <paul@nowt.org>  */
 
+void abort (void);
+void exit (int);
+
 int g;
  
 void 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030914-1.c b/gcc/testsuite/gcc.c-torture/execute/20030914-1.c
index ab1c1541df0a2e4d4bfd9b84c61cfdd3cfafcc47..0b3ccfd73a1398cf9432cf7f4b699ace8c927d00 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030914-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030914-1.c
@@ -2,6 +2,9 @@
    stack, with an odd number of words in the register part.  Check that
    the long double stack argument (PC) is still accessed properly.  */
 
+void abort (void);
+void exit (int);
+
 struct s { int val[16]; };
 
 long double f (int pa, struct s pb, long double pc)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030914-2.c b/gcc/testsuite/gcc.c-torture/execute/20030914-2.c
index 38a81982ff265c7a053aa98ec4403b92694e12f8..a63d78c977d2d7ec3cf26ae22a09cee21e4c6dbf 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030914-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030914-2.c
@@ -3,6 +3,9 @@
    one for the partial argument and one for the varargs save area.
    Make sure that these uses don't conflict.  */
 
+void abort (void);
+void exit (int);
+
 struct s { int i[18]; };
 
 int f (struct s pa, int pb, ...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030916-1.c b/gcc/testsuite/gcc.c-torture/execute/20030916-1.c
index 8b460c6dd68399d490037c985ba76d9dc74fca52..3fba6024c80c926e2619fd0327e323372772ed77 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030916-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030916-1.c
@@ -1,6 +1,9 @@
 /* "i" overflows in f().  Check that x[i] is not treated as a giv.  */
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 #if CHAR_BIT == 8
 
 void f (unsigned int *x)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030928-1.c b/gcc/testsuite/gcc.c-torture/execute/20030928-1.c
index 77216c9fece3493d6769bd0a6671033777170840..499de24f18829568e30c7fc299d0f9a1d20be872 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030928-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030928-1.c
@@ -1,5 +1,8 @@
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 #if INT_MAX <= 32767
 int main () { exit (0); }
 #else
diff --git a/gcc/testsuite/gcc.c-torture/execute/20031010-1.c b/gcc/testsuite/gcc.c-torture/execute/20031010-1.c
index 54457f964c338fd8bdd8fbc411ae1a08a97da9de..dec1606ebd0b0b23db1d17c654f830bd1022c195 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20031010-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20031010-1.c
@@ -1,5 +1,7 @@
 /* A reminder to process ops in generate_expr_as_of_bb exactly once.  */
 
+void abort (void);
+
 long __attribute__((noinline))
 foo (long ct, long cf, _Bool p1, _Bool p2, _Bool p3)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20031201-1.c b/gcc/testsuite/gcc.c-torture/execute/20031201-1.c
index 7c8e0ea290f76273f46182fafb4cd478cb8e4c4f..580147b1930d5d71ad94ea4fce940eb74e5875f5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20031201-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20031201-1.c
@@ -3,6 +3,9 @@
    STRICT_LOW_PART was handled incorrectly in delay slots.
    Origin: Hans-Peter Nilsson.  */
 
+void abort (void);
+void exit (int);
+
 typedef struct { unsigned int e0 : 16; unsigned int e1 : 16; } s1;
 typedef struct { unsigned int e0 : 16; unsigned int e1 : 16; } s2;
 typedef struct { s1 i12; s2 i16; } io;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20031204-1.c b/gcc/testsuite/gcc.c-torture/execute/20031204-1.c
index a9c2f0195bd824e26ce8400c828fd874e7bd04cb..493e3774d736592f702bdbc0056cb658e48e4a6a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20031204-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20031204-1.c
@@ -2,6 +2,8 @@
 
 #include <string.h>
 
+void abort(void);
+
 typedef unsigned long u32;
 
 u32 in_aton(const char* x)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20031211-1.c b/gcc/testsuite/gcc.c-torture/execute/20031211-1.c
index 2361509a096acae2027d74ec4dda6072da5216fb..3161fff8e73243f113dd02056e15151e4617fcc9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20031211-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20031211-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct a { unsigned int bitfield : 1; };
 
 unsigned int x;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040208-1.c b/gcc/testsuite/gcc.c-torture/execute/20040208-1.c
index 0235759107272349eadfcb9c20775f2ca6cf2e1d..457d5cbac86c429ff94fd4d3e5cbd7524117f02f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040208-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040208-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int main ()
 {
   long double x;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040218-1.c b/gcc/testsuite/gcc.c-torture/execute/20040218-1.c
index 4d1541af8bfa9b36b2754dfbaa5be144c3159e79..4e0e11cb397a21f65586b3d40c03f577c025eba6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040218-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040218-1.c
@@ -2,6 +2,9 @@
    postincrement.
    Origin: <hp@axis.com>.  */
 
+void abort (void);
+void exit (int);
+
 long int xb (long int *y) __attribute__ ((__noinline__));
 long int xw (long int *y) __attribute__ ((__noinline__));
 short int yb (short int *y) __attribute__ ((__noinline__));
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040307-1.c b/gcc/testsuite/gcc.c-torture/execute/20040307-1.c
index 8ab8008bb994af89ce6961940b8a215c54186e31..8abc26f7f7ecf333811dfdd5b77d401b5cecb2e8 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040307-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040307-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 int main()
 {
   int b = 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040319-1.c b/gcc/testsuite/gcc.c-torture/execute/20040319-1.c
index 357932d9b247abd7db2f8f9e6343f2ba9f32eea5..37eff8e5ca0185b47e514e7377a425fb3d4faf43 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040319-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040319-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 blah (int zzz)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040411-1.c b/gcc/testsuite/gcc.c-torture/execute/20040411-1.c
index 8db456229bd8c39efe71f8b9942cc4480ef48df5..19d7e41c8e52f3ad9c19e90654cfaf7becd260b1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040411-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040411-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 int
 sub1 (int i, int j)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040423-1.c b/gcc/testsuite/gcc.c-torture/execute/20040423-1.c
index ace797e79d350c18f06326515b4c9bab9ec4d3cb..06e2c439eca66698df480af09bfee4cf395c9011 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040423-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040423-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 int
 sub1 (int i, int j)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040625-1.c b/gcc/testsuite/gcc.c-torture/execute/20040625-1.c
index c426055db7265b58e41814b578e04b68515e12d5..0cb66a84f5d001bb6d5d23cd1729064b8684df2b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040625-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040625-1.c
@@ -1,4 +1,7 @@
 /* From PR target/16176 */
+void abort (void);
+void exit (int);
+
 struct __attribute__ ((packed)) s { struct s *next; };
 
 struct s * __attribute__ ((noinline))
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040703-1.c b/gcc/testsuite/gcc.c-torture/execute/20040703-1.c
index a1b75d90bbc016490e3cd6bb5bb61cc905903e23..5a86154756a45147e6911ed4cc8d90fc72e54a19 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040703-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040703-1.c
@@ -1,6 +1,9 @@
 /* PR 16341 */
 /* { dg-require-effective-target int32plus } */
 
+void abort (void);
+void exit (int);
+
 #define PART_PRECISION (sizeof (cpp_num_part) * 8)
 
 typedef unsigned int cpp_num_part;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040706-1.c b/gcc/testsuite/gcc.c-torture/execute/20040706-1.c
index 6b0ab36ac6753f1e3e597fcae45304ca62cd7a87..eb386c5ee2a953d5846825a78340492dcf4edbf9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040706-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040706-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int main ()
 {
   int i;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040707-1.c b/gcc/testsuite/gcc.c-torture/execute/20040707-1.c
index 6fc15cc24a7c4dae0b6b8d44fd5780654043ea32..25279ae12f6a35b062379b8244e9a3f94a20c099 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040707-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040707-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 struct s { char c1, c2; };
 void foo (struct s s)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040805-1.c b/gcc/testsuite/gcc.c-torture/execute/20040805-1.c
index f31109266b1488da93404ca60b393cf673fdc1a1..9b9bd47103be10e8f3151e39f3ea5f0da0260c8f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040805-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040805-1.c
@@ -1,5 +1,8 @@
 /* { dg-require-stack-size "0x12000" } */
 
+void abort (void);
+void exit (int);
+
 #if __INT_MAX__ < 32768
 int main () { exit (0); }
 #else
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040917-1.c b/gcc/testsuite/gcc.c-torture/execute/20040917-1.c
index 73bc6c6479c666e81a4d1d4c8bed6866bd7875d5..8a5d196bbd9ef741a06e606cb5028fa1bd57cab1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040917-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040917-1.c
@@ -1,5 +1,7 @@
 /* submitted by kenneth zadeck */
 
+void abort (void);
+
 static int test_var;
 
 /* the idea here is that not only is inlinable, inlinable but since it
diff --git a/gcc/testsuite/gcc.c-torture/execute/20041011-1.c b/gcc/testsuite/gcc.c-torture/execute/20041011-1.c
index 4524de9435f21d0f67b69681fae2af5d22091751..b726641f7c88748ac7198010e38dd2d227d87542 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20041011-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20041011-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef unsigned long long ull;
 volatile int gvol[32];
 ull gull;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20041113-1.c b/gcc/testsuite/gcc.c-torture/execute/20041113-1.c
index 8c07950041ae660502266d2e70cb41ed03ec101c..4efd2f215cd6863535266dc68671e72f9baa190f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20041113-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20041113-1.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 void test (int x, ...)
 {
     va_list ap;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20041124-1.c b/gcc/testsuite/gcc.c-torture/execute/20041124-1.c
index 51ce2536ea9c4c06393d11332d8e5b2a1cf18151..09b0714270a3c8db3032c546df09d7936bf65b2f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20041124-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20041124-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct s { _Complex unsigned short x; };
 struct s gs = { 100 + 200i };
 struct s __attribute__((noinline)) foo (void) { return gs; }
diff --git a/gcc/testsuite/gcc.c-torture/execute/20041210-1.c b/gcc/testsuite/gcc.c-torture/execute/20041210-1.c
index ef266a0a2e83dd7aa252e40f93e40e6df4ce4ba2..0315b73b60bed5c69b95a465e73f7ce9a89103d0 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20041210-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20041210-1.c
@@ -2,6 +2,9 @@
    wrongly claimed to set the C and V flags.  */
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 int x[4] = { INT_MIN / 2, INT_MAX, 2, 4 };
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/20041212-1.c b/gcc/testsuite/gcc.c-torture/execute/20041212-1.c
index ea2d0fbd78e9fed18b913e26a545b47c560c2291..709a592e387bec4c8b9e374b3fa4744523b65b10 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20041212-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20041212-1.c
@@ -1,5 +1,8 @@
 /* A function pointer compared with a void pointer should not be canonicalized.
    See PR middle-end/17564.  */
+void abort (void);
+void exit (int);
+
 void *f (void) __attribute__ ((__noinline__));
 void *
 f (void)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20050410-1.c b/gcc/testsuite/gcc.c-torture/execute/20050410-1.c
index c4cd85279a97b24b958ba92314007c62345e105f..3a1f45319a630a003741e4f1ca9fc5c1ad49683a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20050410-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20050410-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int s = 200;
 int __attribute__((noinline))
 foo (void)
diff --git a/gcc/testsuite/gcc.c-torture/execute/20051113-1.c b/gcc/testsuite/gcc.c-torture/execute/20051113-1.c
index 6a289fdf219eab17d6fad1008b233ab292fea153..8c9e7e8ed7549f446da1fc05fa22023958c59006 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20051113-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20051113-1.c
@@ -1,3 +1,4 @@
+extern void abort(void);
 extern void *malloc(__SIZE_TYPE__);
 extern void *memset(void *, int, __SIZE_TYPE__);
 typedef struct
diff --git a/gcc/testsuite/gcc.c-torture/execute/20070623-1.c b/gcc/testsuite/gcc.c-torture/execute/20070623-1.c
index e9c7d2a952d0f20e090ef42f7057a62601594ea4..9cbf75be19261825b6f2df1e958cd6a0f6956487 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20070623-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20070623-1.c
@@ -1,5 +1,8 @@
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 int __attribute__((noinline)) nge(int a, int b) {return -(a >= b);}
 int __attribute__((noinline)) ngt(int a, int b) {return -(a > b);}
 int __attribute__((noinline)) nle(int a, int b) {return -(a <= b);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20091229-1.c b/gcc/testsuite/gcc.c-torture/execute/20091229-1.c
index 9b3a8c1498e336477252dc9862b395b95018f7b0..2ed23554c1dc9234462f0408ad16d57d7d7507e7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20091229-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20091229-1.c
@@ -1,2 +1,5 @@
+void abort (void);
+void exit (int);
+
 long long foo(long long v) { return v / -0x080000000LL; }
 int main(int argc, char **argv) { if (foo(0x080000000LL) != -1) abort(); exit (0); }
diff --git a/gcc/testsuite/gcc.c-torture/execute/20101025-1.c b/gcc/testsuite/gcc.c-torture/execute/20101025-1.c
index 95361a924871ce57c0128581c4196bc6b15b2f56..4987bcc00e0a962167e083b3c3191a2514dcb8bd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20101025-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20101025-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static int g_7;
 static int *volatile g_6 = &g_7;
 int g_3;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20120817-1.c b/gcc/testsuite/gcc.c-torture/execute/20120817-1.c
index 8fb2820e89664330954c9178aeac559cabe1ba2d..d47e6e76384cb19a3ca55ba3818d07b25d572a95 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20120817-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20120817-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef unsigned long long u64;
 unsigned long foo = 0;
 u64 f() __attribute__((noinline));
diff --git a/gcc/testsuite/gcc.c-torture/execute/20170401-2.c b/gcc/testsuite/gcc.c-torture/execute/20170401-2.c
index bb4325867ec32c5c071f77b437ceaa4d8f1ef14e..16341ca19d90e2865e33fa90513e6fd947dea65a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20170401-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20170401-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void adjust_xy (short *, short *);
 
 struct adjust_template
diff --git a/gcc/testsuite/gcc.c-torture/execute/900409-1.c b/gcc/testsuite/gcc.c-torture/execute/900409-1.c
index 3112effaf2f34699b7553b822a857fd67ac53527..5b743c02abf281a9a7957579bf36d747b5a1bb24 100644
--- a/gcc/testsuite/gcc.c-torture/execute/900409-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/900409-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long f1(long a){return a&0xff000000L;}
 long f2 (long a){return a&~0xff000000L;}
 long f3(long a){return a&0x000000ffL;}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920202-1.c b/gcc/testsuite/gcc.c-torture/execute/920202-1.c
index e30ce2fd5c224e951c2c31f20a88894b7c6f6d76..f97b67a72078b35829d4127022a3340274b82d96 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920202-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920202-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 static int rule_text_needs_stack_pop = 0;
 static int input_stack_pos = 1;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/920302-1.c b/gcc/testsuite/gcc.c-torture/execute/920302-1.c
index 62e4fc205a94653629095230d27efc64c2cdd116..c11f1285a26e409727066c36d682dab03d817086 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920302-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920302-1.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target label_values } */
 
+void abort (void);
+void exit (int);
+
 short optab[5];
 char buf[10];
 execute (ip)
diff --git a/gcc/testsuite/gcc.c-torture/execute/920410-1.c b/gcc/testsuite/gcc.c-torture/execute/920410-1.c
index daeff5e39904d22fa4fb6d8fdac03005046eb746..1b256bc44e6251704e84fcfb67cdc5d1fe3520c4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920410-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920410-1.c
@@ -1,4 +1,6 @@
 /* { dg-require-stack-size "40000 * 4 + 256" } */
 
+void exit (int);
+
 main(){int d[40000];d[0]=0;exit(0);}
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-2.c b/gcc/testsuite/gcc.c-torture/execute/920501-2.c
index d99eef289e5e1604d522cd372a524ebd051a5378..bd501d43135fc694eafbb8214f0a38166ec53e58 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920501-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920501-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned long
 gcd_ll (unsigned long long x, unsigned long long y)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-3.c b/gcc/testsuite/gcc.c-torture/execute/920501-3.c
index 452d7c0debe8f9e115c21c9622288b46fd0a8728..c81fd5cca39dab48a3533d3bb455ee9ccbf8030f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920501-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920501-3.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target label_values } */
 
+void abort (void);
+void exit (int);
+
 int tab[9];
 execute(oip, ip)
      unsigned short *oip, *ip;
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-4.c b/gcc/testsuite/gcc.c-torture/execute/920501-4.c
index c99857079aa2c570cb3d22cd96e7627133ccbe25..1fa564c5bbb2269727367eabcaea43efd1a9451d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920501-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920501-4.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target label_values } */
 
+void abort (void);
+void exit (int);
+
 int
 x (int i)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-5.c b/gcc/testsuite/gcc.c-torture/execute/920501-5.c
index f0b907166531b7fba844f0384c2ba27894c43dd0..b9882eaf5b140288f53d88c6df1c0e6565228cb0 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920501-5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920501-5.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target label_values } */
 
+void abort (void);
+void exit (int);
+
 x (int i)
 {
   void *j[] = {&&x, &&y, &&z};
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-6.c b/gcc/testsuite/gcc.c-torture/execute/920501-6.c
index 833624ff3f78563b0dc86c2fbfc67d0464ac5d06..82b6c64f830680486726101bcc2fc00b0d1d73ba 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920501-6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920501-6.c
@@ -1,5 +1,8 @@
 #include <stdio.h>
 
+void abort (void);
+void exit (int);
+
 /* Convert a decimal string to a long long unsigned.  No error check is
    performed.  */
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-8.c b/gcc/testsuite/gcc.c-torture/execute/920501-8.c
index 7e4fa172ccd5fe38aa7e30a23cf27be76ca87617..9e484309d412a71b8ec5e4e3977a7292662c75eb 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920501-8.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920501-8.c
@@ -1,5 +1,8 @@
 /* { dg-additional-options "-Wl,-u,_printf_float" { target newlib_nano_io } } */
 
+void abort (void);
+void exit (int);
+
 #include <stdio.h>
 #include <stdarg.h>
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/920506-1.c b/gcc/testsuite/gcc.c-torture/execute/920506-1.c
index 9a646a30fc298ac082df927cb6d4d11414486c75..38af6ba20633045d450320e5b0754d43e6235fc9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920506-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920506-1.c
@@ -1,2 +1,4 @@
+void abort (void);
+void exit (int);
 int l[]={0,1};
 main(){int*p=l;switch(*p++){case 0:exit(0);case 1:break;case 2:break;case 3:case 4:break;}abort();}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920604-1.c b/gcc/testsuite/gcc.c-torture/execute/920604-1.c
index d7d9be13fd81145e5cff509721ca47a2e849c4c2..5dd300f7c0ae4b9aad948f48f89edb7f90a0d23b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920604-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920604-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 long long
 mod (a, b)
      long long a, b;
diff --git a/gcc/testsuite/gcc.c-torture/execute/920612-2.c b/gcc/testsuite/gcc.c-torture/execute/920612-2.c
index 23796fcdaa91e7a098df10cfdecceb372a5307ef..d3eb0ebba017e26568b9773b5c6bd03ac0618d49 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920612-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920612-2.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target trampolines } */
 
+void abort (void);
+void exit (int);
+
 main ()
 {
   int i = 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/920618-1.c b/gcc/testsuite/gcc.c-torture/execute/920618-1.c
index 224f7208953b237976171995bb4a671ad0c7cad3..5059482229e7464b2b4cff482d6d81607c4766c7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920618-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920618-1.c
@@ -1 +1,3 @@
+void abort (void);
+void exit (int);
 main(){if(1.17549435e-38F<=1.1)exit(0);abort();}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920625-1.c b/gcc/testsuite/gcc.c-torture/execute/920625-1.c
index ae2f415dec731ce857d7db31669394155419ee45..7aa2ed90dc646e738253ba20766b6de2389b028c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920625-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920625-1.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 typedef struct{double x,y;}point;
 point pts[]={{1.0,2.0},{3.0,4.0},{5.0,6.0},{7.0,8.0}};
 static int va1(int nargs,...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/920710-1.c b/gcc/testsuite/gcc.c-torture/execute/920710-1.c
index 7c6f871e2acdcb96069b3cc1962178523b7a79c0..dfef3ea2997be5ca74e73230c33df9cacbaa6729 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920710-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920710-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main()
 {
   if ((double) 18446744073709551615ULL < 1.84467440737095e+19 ||
diff --git a/gcc/testsuite/gcc.c-torture/execute/920721-1.c b/gcc/testsuite/gcc.c-torture/execute/920721-1.c
index 086b5463f7f070755ae7636e2671ce17c0cc2022..a77b2dc1537b43804e4e5791579e18b275aeb33c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920721-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920721-1.c
@@ -1,2 +1,4 @@
+void abort (void);
+void exit (int);
 long f(short a,short b){return (long)a/b;}
 main(){if(f(-32768,-1)!=32768L)abort();else exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920721-4.c b/gcc/testsuite/gcc.c-torture/execute/920721-4.c
index 805918b2aa3dcd4a0ddcc765a5e2fd1772a8538b..6462ee31077552533a896fccc504dfcf61705571 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920721-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920721-4.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target label_values } */
 
+void abort (void);
+void exit (int);
+
 int try (int num) {
   __label__ lab1, lab2, lab3, lab4, lab5, lab6, default_lab;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/920726-1.c b/gcc/testsuite/gcc.c-torture/execute/920726-1.c
index d6042c9f5d13099de84273d8eaa804ebfb2b865e..5afaa2ed1fff7c15cb3217ccd1a9da7dbbda1e77 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920726-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920726-1.c
@@ -1,6 +1,9 @@
 #include <stdio.h>
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 struct spurious
 {
     int anumber;
diff --git a/gcc/testsuite/gcc.c-torture/execute/920829-1.c b/gcc/testsuite/gcc.c-torture/execute/920829-1.c
index ed2c2271caa158d4d79a1e4927926221f33582e4..3f612d8eb78b6d87b9da935cfe4d734f7dd3adcb 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920829-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920829-1.c
@@ -1,2 +1,4 @@
+void abort (void);
+void exit (int);
 long long c=2863311530LL,c3=2863311530LL*3;
 main(){if(c*3!=c3)abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920908-1.c b/gcc/testsuite/gcc.c-torture/execute/920908-1.c
index 98fbb5eaa6df5cec0b1025b4f1440876fffb7639..c56334eb5dae8f40159f288c4430c1c86de670c0 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920908-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920908-1.c
@@ -2,6 +2,9 @@
 
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 typedef struct{int A;}T;
 
 T f(int x,...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/920922-1.c b/gcc/testsuite/gcc.c-torture/execute/920922-1.c
index 4fae192bb90d94133f163bdf74def8b18144c3cd..cb838c25d92d31a18bfeee9df0e01ab7ac3de17b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920922-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920922-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned long*
 f(p)unsigned long*p;
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/920929-1.c b/gcc/testsuite/gcc.c-torture/execute/920929-1.c
index 061617df753586d01bdbe1e0bbf3933ca8155029..5ef83dc80e4e308b3ccd2faea773c8826e5e0dd4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/920929-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/920929-1.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "requires alloca" { ! alloca } { "-O0" } { "" } } */
 /* REPRODUCED:RUN:SIGNAL MACHINE:sparc OPTIONS: */
+void exit (int);
 f(int n)
 {
 int i;
diff --git a/gcc/testsuite/gcc.c-torture/execute/921006-1.c b/gcc/testsuite/gcc.c-torture/execute/921006-1.c
index 50fbdb711251754ad713fca078f640fa36032055..3e897412b5ed1404e560051dad4ea707f85e231b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921006-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921006-1.c
@@ -1,4 +1,6 @@
 /* REPRODUCED:RUN:SIGNAL MACHINE:i386 OPTIONS:-O */
+void abort(void);
+void exit(int);
 main()
 {
 if(strcmp("X","")<0)abort();
diff --git a/gcc/testsuite/gcc.c-torture/execute/921007-1.c b/gcc/testsuite/gcc.c-torture/execute/921007-1.c
index 23ab52e7ae89cdea8a50a6e396f78ead7ab41b1c..940ee2e175c1743ce73c07c8f7449f63bcd23af9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921007-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921007-1.c
@@ -1,3 +1,5 @@
+void abort(void);
+void exit(int);
 static int strcmp(){return-1;}
 #define strcmp __builtin_strcmp
 main()
diff --git a/gcc/testsuite/gcc.c-torture/execute/921016-1.c b/gcc/testsuite/gcc.c-torture/execute/921016-1.c
index 46f8a8387656e3e318c773c029395b14a2a95733..4ae22c666a1b3f642ffc59e5bb12680b11294ea3 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921016-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921016-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main()
 {
 int j=1081;
diff --git a/gcc/testsuite/gcc.c-torture/execute/921019-1.c b/gcc/testsuite/gcc.c-torture/execute/921019-1.c
index f48613a8ba950f72bd79823e32768cf1d9c6cb4d..e9b5e2a1c9cf305fb09489692ca1d5d5b66e30ba 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921019-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921019-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void *foo[]={(void *)&("X"[0])};
 
 main ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/921019-2.c b/gcc/testsuite/gcc.c-torture/execute/921019-2.c
index 9003e7b64d54c4bd1c86a76e056f4b2aca20486b..f1dd3a584e6d3facff740a37d4e1f6cd3fdbd102 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921019-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921019-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main()
 {
   double x,y=0.5;
diff --git a/gcc/testsuite/gcc.c-torture/execute/921029-1.c b/gcc/testsuite/gcc.c-torture/execute/921029-1.c
index 76fc974c2f088b0ec853172fe35ac21d1ad3654b..0f4c02eb2cb5e16e0c74474a9c25a440a37fdbc4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921029-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921029-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef unsigned long long ULL;
 ULL back;
 ULL hpart, lpart;
diff --git a/gcc/testsuite/gcc.c-torture/execute/921104-1.c b/gcc/testsuite/gcc.c-torture/execute/921104-1.c
index 4b6f4bcfb5ba640a0055eb12c27d836a4288cd17..8725c041da516a0dcd3aeb00f768ccc548c7b5ec 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921104-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921104-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   unsigned long val = 1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/921112-1.c b/gcc/testsuite/gcc.c-torture/execute/921112-1.c
index 5946398e3c0ddc1c0cbe06b60877dae6afab7818..18a7ca1e65be4f84c559c5ccad69c94c355c6790 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921112-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921112-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 union u {
   struct { int i1, i2; } t;
   double d;
diff --git a/gcc/testsuite/gcc.c-torture/execute/921113-1.c b/gcc/testsuite/gcc.c-torture/execute/921113-1.c
index 824e69f04c4d2f828247b4e639d0eb05d1132934..9bf8a13533df6309990a1e1bd37dfa6760c66e2c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921113-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921113-1.c
@@ -1,5 +1,8 @@
 /* { dg-require-stack-size "128 * 128 * 4 + 1024" } */
 
+void abort (void);
+void exit (int);
+
 typedef struct {
   float wsx;
 } struct_list;
diff --git a/gcc/testsuite/gcc.c-torture/execute/921117-1.c b/gcc/testsuite/gcc.c-torture/execute/921117-1.c
index 2ed30fbeeef8688413120d50708cf1c75de5931b..04da4226ca5410722c7a1938e8caaf98175f8a4f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921117-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921117-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct s {
   char text[11];
   int flag;
diff --git a/gcc/testsuite/gcc.c-torture/execute/921123-2.c b/gcc/testsuite/gcc.c-torture/execute/921123-2.c
index 3028717cf5a5f9aa2e1f70784793d0a58c66ecdf..2ac7ca2227685c864ca442f231192f721cbef4c1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921123-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921123-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct
 {
   unsigned short b0, b1, b2, b3;
diff --git a/gcc/testsuite/gcc.c-torture/execute/921202-2.c b/gcc/testsuite/gcc.c-torture/execute/921202-2.c
index 48d4a412d1bdb65dcff61198ec916fc8fed67a6a..1115a4d3eda4674a50a7b6c792789e9364541a75 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921202-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921202-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 f(long long x)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/921204-1.c b/gcc/testsuite/gcc.c-torture/execute/921204-1.c
index a7bba830a34ca0f794986d772560e610d99c147e..2f69f644dc0b408033de28f5dc3087f24ac76362 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921204-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921204-1.c
@@ -1,5 +1,8 @@
 /* The bit-field below would have a problem if __INT_MAX__ is too
    small.  */
+void abort (void);
+void exit (int);
+
 #if __INT_MAX__ < 2147483647
 int
 main (void)
diff --git a/gcc/testsuite/gcc.c-torture/execute/921208-1.c b/gcc/testsuite/gcc.c-torture/execute/921208-1.c
index 143ef63b0c9c0d9fac1e5d2b7a9004e27d07c602..b950f413109931125612b96c3830f8892a4451f7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/921208-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/921208-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 double
 f(double x)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/930123-1.c b/gcc/testsuite/gcc.c-torture/execute/930123-1.c
index 7365bae52003ca27f50612b7a004c6c06de46e38..f5812317eb7ec6191d787a4a92ea43131c3b8e57 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930123-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930123-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 f(int *x)
 {
   *x = 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/930126-1.c b/gcc/testsuite/gcc.c-torture/execute/930126-1.c
index ff08e7d6131c029cc39ef5361c37d3765149ac6e..2f514cc31944e8a12d509eab9c2079e110589cb0 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930126-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930126-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct s {
   unsigned long long a:8, b:32;
 };
diff --git a/gcc/testsuite/gcc.c-torture/execute/930406-1.c b/gcc/testsuite/gcc.c-torture/execute/930406-1.c
index f240d1b09ab7190171b999b47f0d27bea6e869e8..4dc59dcb07c5d58643fab3e4cdfce6778bd6a810 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930406-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930406-1.c
@@ -1,5 +1,7 @@
 /* { dg-add-options stack_size } */
 
+void exit (int);
+
 f()
 {
   int x = 1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/930408-1.c b/gcc/testsuite/gcc.c-torture/execute/930408-1.c
index 42ffc098f8007d011527d5b09890c7f277829832..c756eecc4eb291418bdbb5dc05c23244c58fc972 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930408-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930408-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef enum foo E;
 enum foo { e0, e1 };
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/930429-1.c b/gcc/testsuite/gcc.c-torture/execute/930429-1.c
index 656d928ebd7116ff609fdcae250bcdaef11fd45f..1c23dd389565f131471c2bd0fc40c5c9e6e0637e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930429-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930429-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 char *
 f (char *p)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/930603-2.c b/gcc/testsuite/gcc.c-torture/execute/930603-2.c
index 8cf06a211390b796784f19fdc2b86b1c0617e652..bfa4b2fafeb4ef32dde7d1bfda5d9d4cf56f336f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930603-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930603-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int w[2][2];
 
 f ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/930608-1.c b/gcc/testsuite/gcc.c-torture/execute/930608-1.c
index 004a440070959239c02814b9e3ad917899cdd9ca..d81a2544a41181577edf0058db9b36913f8e426e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930608-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930608-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 double f (double a) {}
 double (* const a[]) (double) = {&f};
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/930614-1.c b/gcc/testsuite/gcc.c-torture/execute/930614-1.c
index 7b206344b3a5d118b05bfc45589a8cb75bbc8ffd..736371a6f0ecf31e2f8bb3424edba8c0f77bcf9c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930614-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930614-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 f (double *ty)
 {
   *ty = -1.0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/930614-2.c b/gcc/testsuite/gcc.c-torture/execute/930614-2.c
index ab83a7e3bb99cd514187bf67c0172a147216da22..76e4142e20f536b4d7b5f109d6945f19173d63e8 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930614-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930614-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   int i, j, k, l;
diff --git a/gcc/testsuite/gcc.c-torture/execute/930622-2.c b/gcc/testsuite/gcc.c-torture/execute/930622-2.c
index d049b002a196a0775ad604f05d0adc310a3d4f60..7b165b14ee865c9357b7a757bb1a5248f24aa2c3 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930622-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930622-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long double
 ll_to_ld (long long n)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/930628-1.c b/gcc/testsuite/gcc.c-torture/execute/930628-1.c
index 58c612d1a1c1d8e0714a91a9f67b0736b041a573..b68ecefcd47a1fba67995b12b9469a44820c0844 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930628-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930628-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 f (double x[2], double y[2])
 {
   if (x == y)
diff --git a/gcc/testsuite/gcc.c-torture/execute/930725-1.c b/gcc/testsuite/gcc.c-torture/execute/930725-1.c
index 3bd738ca08a92438a70bf5d7ab61436b75ae0092..55bcdde19c9b10f37a1d4ffa0aa38b24e95ad87e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930725-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930725-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int v;
 
 char *
diff --git a/gcc/testsuite/gcc.c-torture/execute/930930-2.c b/gcc/testsuite/gcc.c-torture/execute/930930-2.c
index eb34d11fe2264f998925665eb5b0a1a2cf5a29ac..83c4f3deea4f6e86507d1bb20e2f89d74bc4d900 100644
--- a/gcc/testsuite/gcc.c-torture/execute/930930-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/930930-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 test_endianness()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/931002-1.c b/gcc/testsuite/gcc.c-torture/execute/931002-1.c
index fc5222374d926255a5f2c34e7ba9e67162812f78..f2b335757c538ec90fb1320ad75b7fbc7332ff37 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931002-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931002-1.c
@@ -1,5 +1,7 @@
 /* { dg-require-effective-target trampolines } */
 
+void exit (int);
+
 f (void (*func) ())
 {
   func ();
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-1.c b/gcc/testsuite/gcc.c-torture/execute/931004-1.c
index 9c89afdae35afeef720a95290359b8b00d343a1d..54509b76629b47d62ae7149a7584ab4e38d1fe7d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   int c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-10.c b/gcc/testsuite/gcc.c-torture/execute/931004-10.c
index cf0125dba62f3784c5c28508142f1d4da534e39c..d516d54df5d61ece9370f793b2ef153e83fcb5a5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-10.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-10.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   char c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-11.c b/gcc/testsuite/gcc.c-torture/execute/931004-11.c
index b6047025ce9c29813156ff1436325cb0e7e216af..770ca79e308c93eaca0c32036562fd21d8a6f86b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-11.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-11.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   char c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-12.c b/gcc/testsuite/gcc.c-torture/execute/931004-12.c
index d3fc71e0cb0a386e06cb8e861970735f435b4c0a..f41319baefc022217915cf2c1d156aada356999f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-12.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-12.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   char c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-13.c b/gcc/testsuite/gcc.c-torture/execute/931004-13.c
index 60422af8eb7c88fe488259d21ac9f441daec7247..c2cfa142b0ce314b0af547fddfb842d593638aa0 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-13.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-13.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   char c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-14.c b/gcc/testsuite/gcc.c-torture/execute/931004-14.c
index 55c71bbc42a29c1d21cef01848e7e7ebc62350f3..ab4e2461a5199323cefcbf20c88003b6e6daa135 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-14.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-14.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   char c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-2.c b/gcc/testsuite/gcc.c-torture/execute/931004-2.c
index 83bdea67b0cf47bb71a4d4c434b5182d690608db..faf1dd52f4b939fb7cb24af671fd7264011bc28b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-2.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   int c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-3.c b/gcc/testsuite/gcc.c-torture/execute/931004-3.c
index 1e7a0fdcd536fbf60cd1eef3e9ff0951537664c6..0dc9977369fa37b0a92ccdbfccffb90a9ad495b7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-3.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   short c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-4.c b/gcc/testsuite/gcc.c-torture/execute/931004-4.c
index f0d2331e5ccd5a486efc43f4259246641414d3f2..405dc52581c216d20d6e3ea0243434a4e350eed4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-4.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   short c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-5.c b/gcc/testsuite/gcc.c-torture/execute/931004-5.c
index 9bef779e6edb331be6d6e4055aab05df1e3f347e..bbe198041632d87fd01ad94df7b2aa8bf499fa7e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-5.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   short c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-6.c b/gcc/testsuite/gcc.c-torture/execute/931004-6.c
index 6dca48f38ef5b0bdb91a01a3eed1683a103d2376..7778d97d8575a265890e074acf1c65bf0097ad7d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-6.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   short c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-7.c b/gcc/testsuite/gcc.c-torture/execute/931004-7.c
index 8ab2fcb2ab26f123824191cf28996837466bb38a..4bcd971c53fdb09e8d384857b45ff760a8e59baf 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-7.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-7.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   char c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-8.c b/gcc/testsuite/gcc.c-torture/execute/931004-8.c
index 5fb97f64a6b1fb25d60dd6ef394fb165ae875bcf..7ef91a00c6aeb63d20f4dae1bf33954c77697cca 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-8.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-8.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   char c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-9.c b/gcc/testsuite/gcc.c-torture/execute/931004-9.c
index 07247f7adfac1d4d943ac64eeaaf635e30a45f84..8d025356147727a3750288c1bd9c9a14c6f1b49b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931004-9.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931004-9.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   char c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931005-1.c b/gcc/testsuite/gcc.c-torture/execute/931005-1.c
index 5a7e031cbfec54671a604cbb4b93d52419ce54ca..3082890b1320b78686865fa4f187503f2609d05c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931005-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931005-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct
 {
   char x;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931110-1.c b/gcc/testsuite/gcc.c-torture/execute/931110-1.c
index 5b33b269a2d631ea21d76ecc1383c0a41ed1ddfa..6943583fee22f70c9a1200155549892c250a344b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931110-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931110-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 typedef struct
 {
   short f:3, g:3, h:10;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931110-2.c b/gcc/testsuite/gcc.c-torture/execute/931110-2.c
index 586615b180c03d743c38efa97d9cc8f374c39618..4f6e166aac8d26f2f377298c88f879902e959fa9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/931110-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/931110-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   static int a[] = {3, 4};
diff --git a/gcc/testsuite/gcc.c-torture/execute/941014-1.c b/gcc/testsuite/gcc.c-torture/execute/941014-1.c
index 98db917428fd19a459c1fd08240190bc31805db4..002f1c69fc2503b2d8ea2b55db690cffc2a8bc00 100644
--- a/gcc/testsuite/gcc.c-torture/execute/941014-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/941014-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int f (int a, int b) { }
 
 main ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/941015-1.c b/gcc/testsuite/gcc.c-torture/execute/941015-1.c
index 38d4796645f66f55196760d0c5c8f68c60db0072..3703bb571240bc1752201c78fd9fb1ffbc7afe9a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/941015-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/941015-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 foo1 (value)
      long long value;
diff --git a/gcc/testsuite/gcc.c-torture/execute/941021-1.c b/gcc/testsuite/gcc.c-torture/execute/941021-1.c
index 9fc1cfadf97dfac7b60d4db6b19520885681af05..a239fb38c4d681759eef421811771d1a79d71ebd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/941021-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/941021-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 double glob_dbl;
 
 f (pdbl, value)
diff --git a/gcc/testsuite/gcc.c-torture/execute/941025-1.c b/gcc/testsuite/gcc.c-torture/execute/941025-1.c
index 2daf0ad25cc28c3813070b40a1d9935a818bc383..e2db7c22c3120e07475e29899838139148532669 100644
--- a/gcc/testsuite/gcc.c-torture/execute/941025-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/941025-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long f (x, y)
      long x,y;
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/941031-1.c b/gcc/testsuite/gcc.c-torture/execute/941031-1.c
index 134f966c6f3dffd72ecc1a5ed1310374f269db41..96992970274ae2b68a29825641718771d73a7fe4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/941031-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/941031-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef long mpt;
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/950221-1.c b/gcc/testsuite/gcc.c-torture/execute/950221-1.c
index 8ef83fd5c13cf369c6a0dc7999a5bc498b7bba28..3c307026ac69a37742ebc16dad18e1250855cbcc 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950221-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950221-1.c
@@ -1,5 +1,8 @@
 /* { dg-add-options stack_size } */
 
+void abort (void);
+void exit (int);
+
 struct parsefile
 {
   long fd;
diff --git a/gcc/testsuite/gcc.c-torture/execute/950426-2.c b/gcc/testsuite/gcc.c-torture/execute/950426-2.c
index a1a690469d17b4820280c5ad4aba3f95377b80e6..9421fa7522ae80e67e0ddb7c7228399557bc05f4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950426-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950426-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main()
 {
   long int i = -2147483647L - 1L; /* 0x80000000 */
diff --git a/gcc/testsuite/gcc.c-torture/execute/950503-1.c b/gcc/testsuite/gcc.c-torture/execute/950503-1.c
index 1c95b369c50ac84f0df3a73472d9d739d8686994..2ecad296b554c095e6ea985f760ae04785d4785d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950503-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950503-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   int tmp;
diff --git a/gcc/testsuite/gcc.c-torture/execute/950511-1.c b/gcc/testsuite/gcc.c-torture/execute/950511-1.c
index 6584b0c86b6b5150f4fc432404dc3c0e934e230e..46d002101777fdb5d2b6fba1dfaf4d2cbe8d4b2e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950511-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950511-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   unsigned long long xx;
diff --git a/gcc/testsuite/gcc.c-torture/execute/950607-1.c b/gcc/testsuite/gcc.c-torture/execute/950607-1.c
index 7b1503ad11d37a98a9ce61599713f6d58327d43e..23ff4c78b4de483b296479bfed10d8748c1a60cf 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950607-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950607-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   struct { long status; } h;
diff --git a/gcc/testsuite/gcc.c-torture/execute/950607-2.c b/gcc/testsuite/gcc.c-torture/execute/950607-2.c
index da18f7373f4a45b391347c87aa5b7570a2e30621..ff111c130911383952eadcfafda6982a921ab5a0 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950607-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950607-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct {
   long int p_x, p_y;
 } Point;
diff --git a/gcc/testsuite/gcc.c-torture/execute/950612-1.c b/gcc/testsuite/gcc.c-torture/execute/950612-1.c
index f9885279c33a15191ddac912e98cd5ae615451ad..696a7c116e59efb0fa30f2f1c103d1f6b6a6f2cd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950612-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950612-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned int
 f1 (int diff)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/950628-1.c b/gcc/testsuite/gcc.c-torture/execute/950628-1.c
index e330ff569717f08389f6e5c080e3032db20f62a9..50b58641bba78b36e48164d5407ea5c558fdccbf 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950628-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950628-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct
 {
   char hours, day, month;
diff --git a/gcc/testsuite/gcc.c-torture/execute/950704-1.c b/gcc/testsuite/gcc.c-torture/execute/950704-1.c
index 67fe0885e5a985250ac1c1b49adae85d4e15014c..782b0448db2d1ca77ece94ed242522025471ab61 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950704-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950704-1.c
@@ -1,4 +1,7 @@
 /* { dg-additional-options "-fwrapv" } */
+void abort (void);
+void exit (int);
+
 int errflag;
 
 long long
diff --git a/gcc/testsuite/gcc.c-torture/execute/950706-1.c b/gcc/testsuite/gcc.c-torture/execute/950706-1.c
index 2db1915411c18914646831e394da0e3a2f4a68ba..8acd7233879c627c4beea9341fff89feaa9ea596 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950706-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950706-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 f (int n)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/950710-1.c b/gcc/testsuite/gcc.c-torture/execute/950710-1.c
index 26ff9b2a8a0f3f93d91b1aaffc29fb4284d20e0c..209078d4ab34a29668106e6c61cf4af1c0d077af 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950710-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950710-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct twelve
 {
   int a;
diff --git a/gcc/testsuite/gcc.c-torture/execute/950714-1.c b/gcc/testsuite/gcc.c-torture/execute/950714-1.c
index 5dc44a906e2948ace252f52df6b884ba5b0bf540..6d4dea420bd3e2d025d04f8875f19bfd169b2884 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950714-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950714-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int array[10] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
 
 main ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/950809-1.c b/gcc/testsuite/gcc.c-torture/execute/950809-1.c
index a33d42bd7cd624708b068e3b08c692ab9a007103..fad9a658be537427aa086b9cbd602bb7d5164051 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950809-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950809-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct S
 {
   int *sp, fc, *sc, a[2];
diff --git a/gcc/testsuite/gcc.c-torture/execute/950906-1.c b/gcc/testsuite/gcc.c-torture/execute/950906-1.c
index 31997d5c25745d5a7b6a6925e29cb01107994cf0..fb1c5939429a97d9f6c69a0297e99b1a6e787fa1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950906-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950906-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 g (int i)
 {
 }
diff --git a/gcc/testsuite/gcc.c-torture/execute/950915-1.c b/gcc/testsuite/gcc.c-torture/execute/950915-1.c
index cfa044757b88abe365d0bc1acbc87b6ffd568e54..997e7a9dfe51ef0f9e12e10585199a658ee93594 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950915-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950915-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long int a = 100000;
 long int b = 21475;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/950929-1.c b/gcc/testsuite/gcc.c-torture/execute/950929-1.c
index a35cd6a153e3bfda633d0261306ac2964bf02958..74967ee623752cdf9e7c010ac486fe0835ec0c7c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/950929-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/950929-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int f (char *p) { }
 
 main ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/951003-1.c b/gcc/testsuite/gcc.c-torture/execute/951003-1.c
index 269bf13538617f60f1e3bc485925c3f1d04213eb..633ff8f5b8eb9849205eb1adead845c6b7d4fc32 100644
--- a/gcc/testsuite/gcc.c-torture/execute/951003-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/951003-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int f (i) { return 12; }
 int g () { return 0; }
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/951115-1.c b/gcc/testsuite/gcc.c-torture/execute/951115-1.c
index 03520c99ca256339f592c84aa7908fbc9a3673d7..98189ee5c8090557abcc0b0fcd4de7c0cec291e9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/951115-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/951115-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int var = 0;
 
 g ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/951204-1.c b/gcc/testsuite/gcc.c-torture/execute/951204-1.c
index c4d585b6b9ed8844b39e4ade75209adbbea9a108..f34ffa52e6336b79d419e3c7fea46129bf16cdd2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/951204-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/951204-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 f (char *x)
 {
   *x = 'x';
diff --git a/gcc/testsuite/gcc.c-torture/execute/960116-1.c b/gcc/testsuite/gcc.c-torture/execute/960116-1.c
index 6d7624ca1a19042bae3538a46a242768add3692d..628fce10377b4950a3d7a94ed94c2224995c49ae 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960116-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960116-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static inline
 p (int *p)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/960117-1.c b/gcc/testsuite/gcc.c-torture/execute/960117-1.c
index 741455b08b90fab8a58d31203176a902eb34ed37..f8ca6aef479fc353e7f478cd3b4e89d662c721a1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960117-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960117-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 static char id_space[2] [32 +1];
 typedef short COUNT;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/960209-1.c b/gcc/testsuite/gcc.c-torture/execute/960209-1.c
index decd2af2aab7f10180e339d315cd377f9acd9bb2..ed550ad442aa290f7ff5c88ca27a250d09318d6c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960209-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960209-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct a_struct
 {
   unsigned char a_character;
diff --git a/gcc/testsuite/gcc.c-torture/execute/960215-1.c b/gcc/testsuite/gcc.c-torture/execute/960215-1.c
index 9502b4b2de40bdb48d2f8233248f7a1a495f719f..41fa010df04a33ebbf78327f94a935608cd2c27b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960215-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960215-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long double C = 2;
 long double U = 1;
 long double Y2 = 3;
diff --git a/gcc/testsuite/gcc.c-torture/execute/960219-1.c b/gcc/testsuite/gcc.c-torture/execute/960219-1.c
index d21bcfcad243bea85419c576311f09ad43c96642..a85f82a05cf51babf421168905a13bcf81173bc8 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960219-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960219-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 f (int i)
 {
   if (((1 << i) & 1) == 0)
diff --git a/gcc/testsuite/gcc.c-torture/execute/960301-1.c b/gcc/testsuite/gcc.c-torture/execute/960301-1.c
index d75efea98449070c0068134808008cdbb1818b90..9031a90425e70675bca80aa25b83c40f75f60b13 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960301-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960301-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct foo {
   unsigned : 12;
   unsigned field : 4;
diff --git a/gcc/testsuite/gcc.c-torture/execute/960302-1.c b/gcc/testsuite/gcc.c-torture/execute/960302-1.c
index 7a9426a4635a0ae8b532b63dc193962ffbacf550..3689bdaf95a6f75360da0911dda1c5c51c116b1c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960302-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960302-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long a = 1;
 
 foo ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/960311-1.c b/gcc/testsuite/gcc.c-torture/execute/960311-1.c
index 16579d0bbd1e2f74cf997d6338fdcb582b5daa5a..f3f2edd8a2c16ff8c95bb9f55f416e2306b19138 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960311-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960311-1.c
@@ -1,5 +1,8 @@
 #include <stdio.h>
 
+void abort (void);
+void exit (int);
+
 #ifdef DEBUG
 #define abort() printf ("error, line %d\n", __LINE__)
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/960311-2.c b/gcc/testsuite/gcc.c-torture/execute/960311-2.c
index d5c2d07a336cb41dbb819ec7d6116d833476a0db..5fad47c76f5ef54878b8eefb149ff7fa27437fec 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960311-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960311-2.c
@@ -1,5 +1,8 @@
 #include <stdio.h>
 
+void abort (void);
+void exit (int);
+
 #ifdef DEBUG
 #define abort() printf ("error, line %d\n", __LINE__)
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/960311-3.c b/gcc/testsuite/gcc.c-torture/execute/960311-3.c
index 755fc723f85a3b9eedc156838c327e0c6ee340a3..127af869e102f51f670ebaa8a894fd7dc8ffb384 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960311-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960311-3.c
@@ -1,5 +1,8 @@
 #include <stdio.h>
 
+void abort (void);
+void exit (int);
+
 #ifdef DEBUG
 #define abort() printf ("error, line %d\n", __LINE__)
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/960312-1.c b/gcc/testsuite/gcc.c-torture/execute/960312-1.c
index 94e67df23bd5cac1804fae2a42ce41c797f2a933..1b4f5077e46b715b6f538ec4195ba21c6ff6550b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960312-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960312-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct S
 {
   int *sp, fc, *sc, a[2];
diff --git a/gcc/testsuite/gcc.c-torture/execute/960317-1.c b/gcc/testsuite/gcc.c-torture/execute/960317-1.c
index 8d7907d751c34bfd1691e54d8aba35b8ac7b5b4b..1cfa840a0dba3b44d8dea2515128201c6c69a21f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960317-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960317-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 f (unsigned bitcount, int mant)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/960321-1.c b/gcc/testsuite/gcc.c-torture/execute/960321-1.c
index eafe48ff753e0b1c973cc30940d4b7c22777a0d7..871cc423aaf0ced2c69693bbb73b02306f895be6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960321-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960321-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 char a[10] = "deadbeef";
 
 char
diff --git a/gcc/testsuite/gcc.c-torture/execute/960326-1.c b/gcc/testsuite/gcc.c-torture/execute/960326-1.c
index f201373702257e14bbc9a57af3e9e37ca341fef8..8b36085f0a09d91238489fd755bcc7fd8b78f925 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960326-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960326-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct s
 {
   int a;
diff --git a/gcc/testsuite/gcc.c-torture/execute/960327-1.c b/gcc/testsuite/gcc.c-torture/execute/960327-1.c
index bc82cb5dacf632509c760a6afba9d1e87b782e98..05893c3e4599e369274012fe99c60fa13df52409 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960327-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960327-1.c
@@ -1,4 +1,8 @@
 #include <stdio.h>
+
+void abort (void);
+void exit (int);
+
 g ()
 {
   return '\n';
diff --git a/gcc/testsuite/gcc.c-torture/execute/960405-1.c b/gcc/testsuite/gcc.c-torture/execute/960405-1.c
index d8480cc2c05308f9dd903d10abfd81b70a501483..01513031d6220006b3e8bb6167a276f1ab5f41c9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960405-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960405-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 #define X  5.9486574767861588254287966331400356538172e4931L
 
 long double x = X + X;
diff --git a/gcc/testsuite/gcc.c-torture/execute/960416-1.c b/gcc/testsuite/gcc.c-torture/execute/960416-1.c
index f7cb056802ceeab88e94c8f061da663b0860f7d3..dce5c1b1da5d9995917d99366a1fe2f0f71fde39 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960416-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960416-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef unsigned long int st;
 typedef unsigned long long dt;
 typedef union
diff --git a/gcc/testsuite/gcc.c-torture/execute/960419-1.c b/gcc/testsuite/gcc.c-torture/execute/960419-1.c
index 68bd2b97dd12debcb55c1c53e3930df4db14945d..1f8737f3b1d146943a27d7cd393e403f9537705f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960419-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960419-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static int i;
 
 void
diff --git a/gcc/testsuite/gcc.c-torture/execute/960419-2.c b/gcc/testsuite/gcc.c-torture/execute/960419-2.c
index c9526dcd779e6cfa41f0f420d3bf3f5d4d564f0c..71458121ff0e21c20ab1577cc651e2631b3f868d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960419-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960419-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 #define SIZE 8
 
 main()
diff --git a/gcc/testsuite/gcc.c-torture/execute/960512-1.c b/gcc/testsuite/gcc.c-torture/execute/960512-1.c
index a7c1d5fb47c00133b83c1197ac8095083529374d..2f415790c8dac9c25975764e3e4db49e95aa69b1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960512-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960512-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 __complex__
 double f ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/960513-1.c b/gcc/testsuite/gcc.c-torture/execute/960513-1.c
index acc263ca6c83cdfe6a99c002cf9661c845b856b5..77132ec37331166f34b55854c709278418e3d29b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960513-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960513-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long double
 f (d, i)
      long double d;
diff --git a/gcc/testsuite/gcc.c-torture/execute/960608-1.c b/gcc/testsuite/gcc.c-torture/execute/960608-1.c
index 1f47d02d9d58dac8d3a2f4c094509023c12e8cc7..1970b42c67784ecda6da3f0a0b7b04fe6ec6066d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960608-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960608-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct
 {
   unsigned char a  : 2;
diff --git a/gcc/testsuite/gcc.c-torture/execute/960801-1.c b/gcc/testsuite/gcc.c-torture/execute/960801-1.c
index 1707269189a9f5df646b4abb9f809b9236aa9cb2..2893365df02b2b586151649d9d2f2f3882531273 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960801-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960801-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned
 f ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/960802-1.c b/gcc/testsuite/gcc.c-torture/execute/960802-1.c
index f9ee75260be377d95833795c4b34e853d0084ff7..fa33a7e4410b0f935b594f4338e7783328bfd9fd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960802-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960802-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long val = 0x5e000000;
 
 long
diff --git a/gcc/testsuite/gcc.c-torture/execute/960909-1.c b/gcc/testsuite/gcc.c-torture/execute/960909-1.c
index de1ed9339781c21a26eefa1c70d6570bd59e36ac..4d5d00a11248570b885d5650aaca2429626d851d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/960909-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960909-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 ffs (x)
      int x;
diff --git a/gcc/testsuite/gcc.c-torture/execute/961004-1.c b/gcc/testsuite/gcc.c-torture/execute/961004-1.c
index 7ebba2d7b1ee04b81c47542986f80c669b7405d6..50e2bdcbdefc2aaced94dcd04d508ef978f796a6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/961004-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/961004-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int k = 0;
 
 main()
diff --git a/gcc/testsuite/gcc.c-torture/execute/961017-1.c b/gcc/testsuite/gcc.c-torture/execute/961017-1.c
index 88c9d9505a199ddecd596a36f79e6a93b17e5cb5..c9f060fd70307375ecd69d4d4806fc13254d9e81 100644
--- a/gcc/testsuite/gcc.c-torture/execute/961017-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/961017-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 main ()
 {
   unsigned char z = 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/961017-2.c b/gcc/testsuite/gcc.c-torture/execute/961017-2.c
index 768ddbc6e74b387df66a4d11556b600770fdec9c..e56472a10337317d7bff1950b04371c28b9e7e80 100644
--- a/gcc/testsuite/gcc.c-torture/execute/961017-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/961017-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   int i = 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/961026-1.c b/gcc/testsuite/gcc.c-torture/execute/961026-1.c
index 942a6eb131aa8ba53140fe1cf0532d8d4b0e0cb3..289b7ae22764c16b0703d267f73e32542a236b52 100644
--- a/gcc/testsuite/gcc.c-torture/execute/961026-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/961026-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 test (arg)
      int arg;
diff --git a/gcc/testsuite/gcc.c-torture/execute/961122-1.c b/gcc/testsuite/gcc.c-torture/execute/961122-1.c
index 1f0a63463e15a41f6395bf094c4fbae277affb5f..93c7ae4762eef9a362dd17a32663a16eba3f6c6b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/961122-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/961122-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long long acc;
 
 addhi (short a)
diff --git a/gcc/testsuite/gcc.c-torture/execute/961122-2.c b/gcc/testsuite/gcc.c-torture/execute/961122-2.c
index 81e404ec4f127bf1c9f584224edd5f0505b49f8a..53cd42a17ac1a8177a1ddf843a062ebfc01eb046 100644
--- a/gcc/testsuite/gcc.c-torture/execute/961122-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/961122-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 f (int a)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/961125-1.c b/gcc/testsuite/gcc.c-torture/execute/961125-1.c
index 7fe3dd45422e91f0e30ec3b7ea35419a3610da2e..7a8e18edfd7857a2b0c6ea48d1efacb810fb80e6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/961125-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/961125-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static char *
 begfield (int tab, char *ptr, char *lim, int sword, int schar)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/961206-1.c b/gcc/testsuite/gcc.c-torture/execute/961206-1.c
index 943ac66804d6b815c6a73c0b40ad930dcbf193e4..e8e86be25cc573cbe74d045e33291698906e8e59 100644
--- a/gcc/testsuite/gcc.c-torture/execute/961206-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/961206-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 sub1 (unsigned long long i)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/961213-1.c b/gcc/testsuite/gcc.c-torture/execute/961213-1.c
index 12bb27f31459879518f1c2e4c92b9e5f2739f55a..b79d1998df59ffb3322b37f3b04722ae82b04c95 100644
--- a/gcc/testsuite/gcc.c-torture/execute/961213-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/961213-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 g (unsigned long long int *v, int n, unsigned int a[], int b)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/970214-1.c b/gcc/testsuite/gcc.c-torture/execute/970214-1.c
index 4a06dfebc8df3031060686940fa6a78799839521..18a24988e67e9db1ed452bdaa3c5fb5c725a1711 100644
--- a/gcc/testsuite/gcc.c-torture/execute/970214-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/970214-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 #define L 1
 main ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/970214-2.c b/gcc/testsuite/gcc.c-torture/execute/970214-2.c
index cb9007625dd2562dfe6cb284c06de8abe13fda5e..a4d577d4c6599bef27d82fd8fee76eacc1f33f1c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/970214-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/970214-2.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 #define m(L) (L'1' + (L))
 main ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/970217-1.c b/gcc/testsuite/gcc.c-torture/execute/970217-1.c
index 09e716a330bca5f1b07ac48075ac172d000069d7..1d9939b38fb8ed96f9de42fd9856846880f4a419 100644
--- a/gcc/testsuite/gcc.c-torture/execute/970217-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/970217-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 sub (int i, int array[i++])
 {
   return i;
diff --git a/gcc/testsuite/gcc.c-torture/execute/970923-1.c b/gcc/testsuite/gcc.c-torture/execute/970923-1.c
index 1d78b47c724b8d5e30645369939614fdbd30fb98..a8fd901d34334149125a3c8b1260b98afdbda700 100644
--- a/gcc/testsuite/gcc.c-torture/execute/970923-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/970923-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 ts(a)
      int a;
diff --git a/gcc/testsuite/gcc.c-torture/execute/980205.c b/gcc/testsuite/gcc.c-torture/execute/980205.c
index da15d3c4dd7408a830e23d9612e6525d020a6ef9..486a94b3a47481f9b8348368a749b1b7ec97c914 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980205.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980205.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 void fdouble (double one, ...)
 {
   double value;
diff --git a/gcc/testsuite/gcc.c-torture/execute/980223.c b/gcc/testsuite/gcc.c-torture/execute/980223.c
index 490873441bbade1474534f6739f8483b4f0b5872..73f03e87fe0e0c542afa34e3141d1bd1ca484b80 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980223.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980223.c
@@ -1,3 +1,5 @@
+void abort(void);
+
 typedef struct { char *addr; long type; } object;
 
 object bar (object blah)
diff --git a/gcc/testsuite/gcc.c-torture/execute/980424-1.c b/gcc/testsuite/gcc.c-torture/execute/980424-1.c
index 514e91773a5d2fd9af8198cbf2c6690d12186567..557967f3bfa8c03fd820bedb4d8cf69880474bac 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980424-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980424-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int i, a[99];
 
 void f (int one)
diff --git a/gcc/testsuite/gcc.c-torture/execute/980505-1.c b/gcc/testsuite/gcc.c-torture/execute/980505-1.c
index 905241164dd38888500b77474ecaaa1c684f1cea..e452208eb52fb7836bb940b04cde0bf164bc0c61 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980505-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980505-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static int f(int) __attribute__((const));
 int main()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/980505-2.c b/gcc/testsuite/gcc.c-torture/execute/980505-2.c
index d0d8aa8c6c0a334747c584c2b1ef3f89eb17a825..afd772f82ef6858a5c96349c096914d44b0f38fe 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980505-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980505-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef unsigned short Uint16;
 typedef unsigned int Uint;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/980506-1.c b/gcc/testsuite/gcc.c-torture/execute/980506-1.c
index a48b3ad4cd7f1d994899a08de2f6b2f24ba8c744..aaeac6088dca4cf7a82b5dddfa005e8ebbe92513 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980506-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980506-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 struct decision
 {
   char enforce_mode;             
diff --git a/gcc/testsuite/gcc.c-torture/execute/980506-2.c b/gcc/testsuite/gcc.c-torture/execute/980506-2.c
index 4dd9a2c48145bc08dde0134b68c3598a43460c13..7d7ccddcbbf4ab827a5e612a67b16c8e46a737f3 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980506-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980506-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static void *self(void *p){ return p; }
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/980506-3.c b/gcc/testsuite/gcc.c-torture/execute/980506-3.c
index a943e9ad62c2a35f0d475e34254821644d37b68b..34df519fa087852ee9db43443a5d8cb2bfa5a7b2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980506-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980506-3.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned char lookup_table [257];
 
 static int 
diff --git a/gcc/testsuite/gcc.c-torture/execute/980526-1.c b/gcc/testsuite/gcc.c-torture/execute/980526-1.c
index 15c580791aba64427dc4bf294708b961724f69f7..4f5ec55101505e44f9ed81d942107049706e4923 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980526-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980526-1.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target label_values } */
 
+void abort (void);
+void exit (int);
+
 int expect_do1 = 1, expect_do2 = 2;
  
 static int doit(int x){
diff --git a/gcc/testsuite/gcc.c-torture/execute/980526-2.c b/gcc/testsuite/gcc.c-torture/execute/980526-2.c
index c17f4ea6df1bee6dc769bb1a776001cde6488193..9f0ed69d214bd5e6dd331b9749412566b4a1efc8 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980526-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980526-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef unsigned int dev_t;
 typedef unsigned int kdev_t;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/980526-3.c b/gcc/testsuite/gcc.c-torture/execute/980526-3.c
index a564174e2837385a4659d8fc45a7a5bbf0964f31..e5aeb6aed54fe10aeda6d911e7aeb50fd0cc894a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980526-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980526-3.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int compare(x, y)
 unsigned int x;
 unsigned int y;
diff --git a/gcc/testsuite/gcc.c-torture/execute/980602-1.c b/gcc/testsuite/gcc.c-torture/execute/980602-1.c
index 2df7283740f98908d03defdac931a109d8423a59..f029ffb8eb4470feacca63943b126a77dd6ec003 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980602-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980602-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main()
 {
   int i;
diff --git a/gcc/testsuite/gcc.c-torture/execute/980602-2.c b/gcc/testsuite/gcc.c-torture/execute/980602-2.c
index 972553ed584c7659a382bd44b27ea38ee8fa6e6c..5c8956ad473faf3033a9567eef6686cd3095bc0c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980602-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980602-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 /* The bit-field below would have a problem if __INT_MAX__ is too
    small.  */
 #if __INT_MAX__ < 2147483647
diff --git a/gcc/testsuite/gcc.c-torture/execute/980604-1.c b/gcc/testsuite/gcc.c-torture/execute/980604-1.c
index 8992a90c643b6cc2cfd976f076aed1d36d3d34b5..2346c941f9b8f9d04ceff1fc7a85b7b46157fa88 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980604-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980604-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int a = 1;
 int b = -1;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/980605-1.c b/gcc/testsuite/gcc.c-torture/execute/980605-1.c
index 7179ba6388109ecd29c97f3f2dc1c310529a680e..36274e06fe8aa0d63877d7a1dafc52df2aa94f17 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980605-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980605-1.c
@@ -2,6 +2,9 @@
 
 #include <stdio.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef STACK_SIZE
 #define STACK_SIZE 200000
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/980612-1.c b/gcc/testsuite/gcc.c-torture/execute/980612-1.c
index db2438731a12c428a3c3df8ef87979868ee64916..f04660e84fba9e34696bf91cdad4e0e2414ca4bf 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980612-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980612-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct fd
 {
 	unsigned char a;
diff --git a/gcc/testsuite/gcc.c-torture/execute/980617-1.c b/gcc/testsuite/gcc.c-torture/execute/980617-1.c
index 5f7768aca7a7d41905d14f9ed7c0deb9a70a4c82..88e376dfa7ef380f2f96cbb056ec253555883a1b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980617-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980617-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void foo (unsigned int * p)
 {
   if ((signed char)(*p & 0xFF) == 17 || (signed char)(*p & 0xFF) == 18)
diff --git a/gcc/testsuite/gcc.c-torture/execute/980618-1.c b/gcc/testsuite/gcc.c-torture/execute/980618-1.c
index 59db7f28b9cbd7de72604e9193090126de49a511..21b93adb148d0fb033bf4d4c9b70c3715a60a40f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980618-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980618-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void func(int, int);
 
 int main()
diff --git a/gcc/testsuite/gcc.c-torture/execute/980701-1.c b/gcc/testsuite/gcc.c-torture/execute/980701-1.c
index 391cc0ee1c2aa70a663de982a3f3078e4fcce764..6b3761747f72a88aab1faa37ed63d50a23fe4b58 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980701-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980701-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 ns_name_skip (unsigned char **x, unsigned char *y)
 {
   *x = 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/980709-1.c b/gcc/testsuite/gcc.c-torture/execute/980709-1.c
index 54b3bbc7cf9f1a481638421eb5970756addf9f8e..9fda00ea103e4df57b9be0b95a92b5163bc593a2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980709-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980709-1.c
@@ -1,6 +1,9 @@
 /* { dg-xfail-if "Can not call system libm.a with -msoft-float" { powerpc-*-aix* rs6000-*-aix* } { "-msoft-float" } { "" } } */
 #include <math.h>
 
+void abort (void);
+void exit (int);
+
 main()
 {
   volatile double a;
diff --git a/gcc/testsuite/gcc.c-torture/execute/980716-1.c b/gcc/testsuite/gcc.c-torture/execute/980716-1.c
index 14f46af4a543c38e399ad4822725b468a43891dc..3c501ad24c495667ed867693b17382668a10bdd0 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980716-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980716-1.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 void
 stub(int num, ...)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/980929-1.c b/gcc/testsuite/gcc.c-torture/execute/980929-1.c
index 1d9246e01d7b4216c39e3eeb0e98007c83477c02..39ebc728f9b36ab11881c807c3934a9176cc2c25 100644
--- a/gcc/testsuite/gcc.c-torture/execute/980929-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/980929-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void f(int i)
 {
   if (i != 1000)
diff --git a/gcc/testsuite/gcc.c-torture/execute/981001-1.c b/gcc/testsuite/gcc.c-torture/execute/981001-1.c
index da63f4796b87542a284ef852441344858e1e3bb4..8b55cb447e9f9e196eccc05aa5d03434e68dbbb1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/981001-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/981001-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 #define NG   0x100L
 
 unsigned long flg = 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/981019-1.c b/gcc/testsuite/gcc.c-torture/execute/981019-1.c
index 5d1f009009bfd16cce34ce076f23159ffe63933d..2c2d48c3c8eeaeed6068e2edfc9bdf8f4d109077 100644
--- a/gcc/testsuite/gcc.c-torture/execute/981019-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/981019-1.c
@@ -1,3 +1,4 @@
+extern void abort(void);
 extern int f2(void);
 extern int f3(void);
 extern void f1(void);
diff --git a/gcc/testsuite/gcc.c-torture/execute/981130-1.c b/gcc/testsuite/gcc.c-torture/execute/981130-1.c
index c4ca227d1e857ef1745cf92d7ca96c0b8d4e3266..9135a9b7bf00fe6b47815d04a108d43e74745caa 100644
--- a/gcc/testsuite/gcc.c-torture/execute/981130-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/981130-1.c
@@ -1,4 +1,6 @@
 /* { dg-xfail-if "alias analysis conflicts with instruction scheduling" { m32r-*-* } { "-O2" "-O1" "-O0" "-Os"} { "" } } */
+void abort (void);
+void exit (int);
 struct s { int a; int b;};
 struct s s1;
 struct s s2 = { 1, 2, };
diff --git a/gcc/testsuite/gcc.c-torture/execute/981206-1.c b/gcc/testsuite/gcc.c-torture/execute/981206-1.c
index 12ec0ab1897ba770427e4e528856a4af5907264f..39dce71f9c9d33014e59ece351ed00c9730d9cec 100644
--- a/gcc/testsuite/gcc.c-torture/execute/981206-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/981206-1.c
@@ -1,5 +1,8 @@
 /* Verify unaligned address aliasing on Alpha EV[45].  */
 
+void abort (void);
+void exit (int);
+
 static unsigned short x, y;
 
 void foo()
diff --git a/gcc/testsuite/gcc.c-torture/execute/990106-2.c b/gcc/testsuite/gcc.c-torture/execute/990106-2.c
index c2791efaae6b4a59565431d6d4da88b70a2a1d8d..e0b1f9b538eb3edfbe89e286c852198bd69f072a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990106-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990106-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned calc_mp(unsigned mod)
 {
       unsigned a,b,c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/990117-1.c b/gcc/testsuite/gcc.c-torture/execute/990117-1.c
index 9589ae746f8f9c3a5309905c6f087e8933c87ff4..29c0621b1d20cc219636996043661e9c5ed0077b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990117-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990117-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 int
 foo (int x, int y, int i, int j)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/990128-1.c b/gcc/testsuite/gcc.c-torture/execute/990128-1.c
index cfdab3e87e5eb11a49950fe05c30b2115cf6b3f9..f44efe6e8e9dfb59de5737f42979165ea932ff42 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990128-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990128-1.c
@@ -1,3 +1,5 @@
+extern void abort (void);
+extern void exit (int);
 extern int printf (const char *,...);
 
 struct s { struct s *n; } *p;
diff --git a/gcc/testsuite/gcc.c-torture/execute/990130-1.c b/gcc/testsuite/gcc.c-torture/execute/990130-1.c
index c38ecddbe596bae136d54f9b70d8d26ecdd0ab48..123b355c3ae1c7cfb5847059b8982e4e2e7db1be 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990130-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990130-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int count = 0;
 int dummy;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/990208-1.c b/gcc/testsuite/gcc.c-torture/execute/990208-1.c
index 15dcdfbdf7acbe7c83a2c8c441a73dd9c1555373..49329b8c8d6e79485eee413fad1f46c632389ad9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990208-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990208-1.c
@@ -4,6 +4,9 @@
    of function explicitly marked inline just because a label therein had
    its address taken.  */
 
+void abort (void);
+void exit (int);
+
 static void *ptr1, *ptr2;
 static int i = 1;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/990222-1.c b/gcc/testsuite/gcc.c-torture/execute/990222-1.c
index 98b94f39860454ac6100beb9e899b453fdbb754c..c34679f75283396dc5dd109ce4ec9f2ceacc6f7b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990222-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990222-1.c
@@ -1,3 +1,5 @@
+void abort(void);
+
 char line[4] = { '1', '9', '9', '\0' };
 
 int main()
diff --git a/gcc/testsuite/gcc.c-torture/execute/990324-1.c b/gcc/testsuite/gcc.c-torture/execute/990324-1.c
index d9baa0885f5d6322c0eabf6621682c2dbc06a494..c52f74ac2b55c19f3670859b5b701b5160dd2e85 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990324-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990324-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void f(long i)
 {
   if ((signed char)i < 0 || (signed char)i == 0) 
diff --git a/gcc/testsuite/gcc.c-torture/execute/990326-1.c b/gcc/testsuite/gcc.c-torture/execute/990326-1.c
index d7427cf85122b1172e29cc9f39bae54fd9a7d300..4c56a7c4da36b2b0065bad4bcd518a9a2e5613af 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990326-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990326-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct a {
 	char a, b;
 	short c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/990404-1.c b/gcc/testsuite/gcc.c-torture/execute/990404-1.c
index be917d6d292591cb0ee7b0441244b333edd5f40a..f776d44c1ca9ab1ca923a1813501116cf8aabd3e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990404-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990404-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+void exit (int);
 
 int x[10] = { 0,1,2,3,4,5,6,7,8,9};
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/990513-1.c b/gcc/testsuite/gcc.c-torture/execute/990513-1.c
index 6ad228fb0062e3dee3e3ae79da0a8d5c29b99f83..741c11fe53be135dc18c42dc963244ce216d22ec 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990513-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990513-1.c
@@ -1,5 +1,7 @@
 #include <string.h>
 
+void abort (void);
+
 void foo (int *BM_tab, int j)
 {
   int *BM_tab_base;
diff --git a/gcc/testsuite/gcc.c-torture/execute/990524-1.c b/gcc/testsuite/gcc.c-torture/execute/990524-1.c
index 6cfb34995f45279cccc36e6dc875d93f128195cd..8a2cc12fa7ea6ae58fb5c9e7ed3dda6764cc7c82 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990524-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990524-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 char a[] = "12345";
 char b[] = "12345";
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/990525-1.c b/gcc/testsuite/gcc.c-torture/execute/990525-1.c
index 39b65d101d66ede2228c7ee8c8fc3023b42cac72..cb672fb9a5cf4c9389f11610d0d154b592d15b59 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990525-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990525-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct blah {
     int m1, m2;
 };
diff --git a/gcc/testsuite/gcc.c-torture/execute/990525-2.c b/gcc/testsuite/gcc.c-torture/execute/990525-2.c
index 749785262efc534e7eb3669aa732ade90f5e1455..79fe39b63faf3918ec5425348b5b774e4bd9b9a5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990525-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990525-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct {
     int v[4];
 } Test1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/990527-1.c b/gcc/testsuite/gcc.c-torture/execute/990527-1.c
index a865cbbc69ab7f7a5dca2f93ef058cb16d5bd62f..6c80213cfdd0eddefb431b2a842c055ddabad186 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990527-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990527-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int sum;
 
 void
diff --git a/gcc/testsuite/gcc.c-torture/execute/990531-1.c b/gcc/testsuite/gcc.c-torture/execute/990531-1.c
index d5501d3a7d746d59e8e4d3940013e5443bc9313c..cedafbbdf76689847cb1b792711e4482fb1ed313 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990531-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990531-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
    unsigned long bad(int reg, unsigned long inWord)
    {
        union {
diff --git a/gcc/testsuite/gcc.c-torture/execute/990604-1.c b/gcc/testsuite/gcc.c-torture/execute/990604-1.c
index 4e23a8ea880d9c37cce164c4067c14678ee791d6..b8f81df01cc37bb7a393fb7aa24d6df51949d173 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990604-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990604-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 int b;
 void f ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/990804-1.c b/gcc/testsuite/gcc.c-torture/execute/990804-1.c
index 130c0fb5e51c391543eefd3522c6874915cab5a7..d7f65c02b982638ecb95ab87fda0b20f0b98f4f5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990804-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990804-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int gfbyte ( void ) 
 {
  return 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/990811-1.c b/gcc/testsuite/gcc.c-torture/execute/990811-1.c
index 95e1da9cdfa078e31372563a19b8c66dee025042..c069a12f5b8c208fe371a246d8afb91a6294d69f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990811-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990811-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct s {long a; int b;};
 
 int foo(int x, void *y)
diff --git a/gcc/testsuite/gcc.c-torture/execute/990826-0.c b/gcc/testsuite/gcc.c-torture/execute/990826-0.c
index c630da7d2bf0919753c13629ba8c615fd0f597dd..9447057ba7bcfccd3274de34557498c6eac8e3ce 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990826-0.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990826-0.c
@@ -11,6 +11,8 @@ X-UIDL: 9c1e40c572e3b306464f703461764cd5
 #include <stdio.h>
 #include <math.h>
 
+void abort (void);
+
 int
 main()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/990827-1.c b/gcc/testsuite/gcc.c-torture/execute/990827-1.c
index 6116e788627dbbabdb207342f6963f9db1042619..bd93843a6e1d7c96463715f0a405536620211e33 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990827-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990827-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned test(unsigned one , unsigned  bit)
 {
     unsigned val=  bit & 1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/990829-1.c b/gcc/testsuite/gcc.c-torture/execute/990829-1.c
index 82f8186459417cb8a0a02e6214befd036f4a7f88..8c8802192b491dae6ff19ab523775ffa664b4dc3 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990829-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990829-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 double test (const double le, const double ri)
 {
 	double val = ( ri - le ) / ( ri * ( le + 1.0 ) );
diff --git a/gcc/testsuite/gcc.c-torture/execute/990923-1.c b/gcc/testsuite/gcc.c-torture/execute/990923-1.c
index 4f4e87abcf443f53a6f02218d1806547b6d358c1..1494e96ad9fe4cc7369a58fdb5d35953b2eac664 100644
--- a/gcc/testsuite/gcc.c-torture/execute/990923-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/990923-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 #define mask  0xffff0000L
 #define value 0xabcd0000L
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/991014-1.c b/gcc/testsuite/gcc.c-torture/execute/991014-1.c
index e0bcd6d8bef809e6fec5e93afcfd16283c06c162..ab0c17038ea07cae6bfe95e38eab5f9cc245565e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991014-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991014-1.c
@@ -1,5 +1,5 @@
-
 typedef __SIZE_TYPE__ Size_t;
+void abort(void);
 
 #if __SIZEOF_LONG__ < __SIZEOF_POINTER__
 #define bufsize ((1LL << (8 * sizeof(Size_t) - 2))-256)
diff --git a/gcc/testsuite/gcc.c-torture/execute/991016-1.c b/gcc/testsuite/gcc.c-torture/execute/991016-1.c
index c3122342db774ed112584d417ee49082374ef3ab..76d2ef345798956d33276c93659f14d77b681435 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991016-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991016-1.c
@@ -2,6 +2,9 @@
    mode but have different alias sets.  DOIT tries to get gcse to
    invalidly hoist one of the values out of the loop.  */
 
+void abort (void);
+void exit (int);
+
 typedef int T0;
 typedef long T1;
 typedef long long T2;
diff --git a/gcc/testsuite/gcc.c-torture/execute/991019-1.c b/gcc/testsuite/gcc.c-torture/execute/991019-1.c
index 39726cd0ba4cff23a43ecf3061f1ca9e26e4d2e1..f23b3d122fa5543f947783c3fc432d6629841e8d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991019-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991019-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct {
      double epsilon;
 } material_type;
diff --git a/gcc/testsuite/gcc.c-torture/execute/991023-1.c b/gcc/testsuite/gcc.c-torture/execute/991023-1.c
index 697eb931faec31328d8b52025014ef180e8ad2b2..7f348e11b9ce651140d60724e7ccf46035a8d098 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991023-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991023-1.c
@@ -1,4 +1,5 @@
-
+void abort (void);
+void exit (int);
 
 int blah;
 foo()
diff --git a/gcc/testsuite/gcc.c-torture/execute/991030-1.c b/gcc/testsuite/gcc.c-torture/execute/991030-1.c
index dff11d0a6d971d1c56c20a54a1cac2c206c67934..f6118e92c102c108824fef3253c4e6f439831a7b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991030-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991030-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 double x = 0x1.fp1;
 int main()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/991112-1.c b/gcc/testsuite/gcc.c-torture/execute/991112-1.c
index e43c7beeb87673a414913bcf58e189f5367c672b..0882fd69a7fb6c3aba77258105d2d9c473f1ec77 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991112-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991112-1.c
@@ -1,6 +1,8 @@
 /* This code was miscompiled at -O3 on x86.
    Reported by Jim Meyering; distilled from bash.  */
 
+void abort(void);
+
 int rl_show_char (int c) { return 0; }
 
 int rl_character_len (int c, int pos)
diff --git a/gcc/testsuite/gcc.c-torture/execute/991118-1.c b/gcc/testsuite/gcc.c-torture/execute/991118-1.c
index 77ba888a2a011030416b72237324dd5fbbf31279..0645e0dfb9024ace258543d69cf28bce2f8228cd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991118-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991118-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct tmp
 {
   long long int pad : 12;
diff --git a/gcc/testsuite/gcc.c-torture/execute/991201-1.c b/gcc/testsuite/gcc.c-torture/execute/991201-1.c
index 16595a45d14f827c5b00bd60b9acbec8d84b7c24..c7c0fbcca256330867b2acbdaf20e12a963821f9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991201-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991201-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct vc_data {
 	unsigned long	space;
 	unsigned char   vc_palette[16*3];        
diff --git a/gcc/testsuite/gcc.c-torture/execute/991202-1.c b/gcc/testsuite/gcc.c-torture/execute/991202-1.c
index 502acc74965e67ff6406a8f83ada02b8033aae16..9cbd31f5d4fc8f143586726be5047354dfed2a50 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991202-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991202-1.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 int x, y;
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/991202-2.c b/gcc/testsuite/gcc.c-torture/execute/991202-2.c
index fa97e2d431ef77ef0bd0df689ca627567e7f7abd..38b1f1bfa76f6e1b2b1f76a2b268ee7999949062 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991202-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991202-2.c
@@ -1,3 +1,5 @@
+void abort (void);
+void exit (int);
 
 int
 f1 ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/991202-3.c b/gcc/testsuite/gcc.c-torture/execute/991202-3.c
index f5718b22031ef5c64e79b5d51c68ec7f3b97285e..aa9982fa87480fa3f2d58f9dc729029a7ed5564a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991202-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991202-3.c
@@ -1,3 +1,5 @@
+void abort (void);
+void exit (int);
 
 unsigned int f (unsigned int a)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/991216-1.c b/gcc/testsuite/gcc.c-torture/execute/991216-1.c
index bfedefb1ec31a31e6670aafa1529c26ea85de24a..b6d4858ce02bc67c841b23abe14be4ac5ad84a56 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991216-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991216-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 #define VALUE 0x123456789abcdefLL
 #define AFTER 0x55
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/991216-2.c b/gcc/testsuite/gcc.c-torture/execute/991216-2.c
index 0956135f592f206746ac27520788f3ee73d1cd79..4b487cb15d77a9071c00c7f4183c9d921c024685 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991216-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991216-2.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 #define VALUE 0x123456789abcdefLL
 #define AFTER 0x55
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/991216-4.c b/gcc/testsuite/gcc.c-torture/execute/991216-4.c
index 4cc4c8c13e331fa5506c53deaa2fe76f1f37f7f5..faba02e355897e683f1e2f7579815cbe6b0b90eb 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991216-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991216-4.c
@@ -1,4 +1,7 @@
 /* Test against a problem with loop reversal.  */
+void abort (void);
+void exit (int);
+
 static void bug(int size, int tries)
 {
     int i;
diff --git a/gcc/testsuite/gcc.c-torture/execute/991221-1.c b/gcc/testsuite/gcc.c-torture/execute/991221-1.c
index 7106fee606d8f954217ac69c957e653366dd72ba..0879c09db27ca2b40b847981e35c3d0f9c32b0a5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991221-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991221-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int main( void )
 {
    unsigned long totalsize = 80;
diff --git a/gcc/testsuite/gcc.c-torture/execute/991227-1.c b/gcc/testsuite/gcc.c-torture/execute/991227-1.c
index 46b0951e9e3b150c711970b7f06756ad5a62beba..286b9d5a149e27eb339c38f0a22e4995e6bc92a6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991227-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991227-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+void exit (int);
 char* doit(int flag)
 {
   return 1 + (flag ? "\0wrong\n" : "\0right\n");
diff --git a/gcc/testsuite/gcc.c-torture/execute/991228-1.c b/gcc/testsuite/gcc.c-torture/execute/991228-1.c
index c6fe78e7dadbc6a19309e8c6ac7283484d11a115..d84c1cfc16de3e50f14636c0bc91887f4c0f41d9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/991228-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/991228-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 __extension__ union { double d; int i[2]; } u = { d: -0.25 };
 
 /* This assumes the endianness of words in a long long is the same as
diff --git a/gcc/testsuite/gcc.c-torture/execute/align-1.c b/gcc/testsuite/gcc.c-torture/execute/align-1.c
index 2dc1aad2abc0ee6ed814c703e973a5ba25205861..75b3cf1c2e61bfc35796dbad82ac7a80a2919dd5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/align-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/align-1.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 typedef int new_int __attribute__ ((aligned(16)));
 struct S { int x; };
  
diff --git a/gcc/testsuite/gcc.c-torture/execute/align-2.c b/gcc/testsuite/gcc.c-torture/execute/align-2.c
index b886da7507dbc8e888a659bef2be5f3eaad2e078..f85f2dd6813b55993a5df2c082d30cb09d157b3d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/align-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/align-2.c
@@ -1,6 +1,8 @@
 /* Simple alignment checks;
    looking for compiler/assembler alignment disagreements,
    agreement between struct initialization and access.  */
+void abort (void);
+
 struct a_short { char c; short s; } s_c_s = { 'a', 13 };
 struct a_int { char c ; int i; } s_c_i = { 'b', 14 };
 struct b_int { short s; int i; } s_s_i  = { 15, 16 };
diff --git a/gcc/testsuite/gcc.c-torture/execute/align-3.c b/gcc/testsuite/gcc.c-torture/execute/align-3.c
index 7478c9e4a19ed75554eb07c7e53567d9f794d6d1..217991870f117664c451f07190a12506df4e42a8 100644
--- a/gcc/testsuite/gcc.c-torture/execute/align-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/align-3.c
@@ -1,5 +1,7 @@
 /* { dg-skip-if "small alignment" { pdp11-*-* } } */
 
+void abort (void);
+
 void func(void) __attribute__((aligned(256)));
 
 void func(void) 
diff --git a/gcc/testsuite/gcc.c-torture/execute/alloca-1.c b/gcc/testsuite/gcc.c-torture/execute/alloca-1.c
index 6a65ddfe9145e327ba9757f9955b0457c0facd66..037c932c62b5f3bac015caec90ad01b2776ce1bd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/alloca-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/alloca-1.c
@@ -4,6 +4,7 @@
    can only happen on !STRICT_ALIGNMENT targets.  */
 
 typedef __SIZE_TYPE__ size_t;
+void abort (void);
 
 struct dummy { int x __attribute__((aligned)); };
 #define BIGGEST_ALIGNMENT __alignof__(struct dummy)
diff --git a/gcc/testsuite/gcc.c-torture/execute/anon-1.c b/gcc/testsuite/gcc.c-torture/execute/anon-1.c
index 98a9ed71d46ba6244d81cbc5f9bbc9fcd5bc5cf8..a054e08f976af127b04455e63a881e0c4147a60a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/anon-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/anon-1.c
@@ -3,6 +3,8 @@
 /* Source: Neil Booth, 4 Nov 2001, derived from PR 2820 - field lookup in
    nested anonymous entities was broken.  */
 
+void abort (void);
+
 struct
 {
   int x;
diff --git a/gcc/testsuite/gcc.c-torture/execute/arith-1.c b/gcc/testsuite/gcc.c-torture/execute/arith-1.c
index 6168d77af670d113519f4a4fd7a1a35463aebf94..e991d8e664052ee19038329b334eca9f63212484 100644
--- a/gcc/testsuite/gcc.c-torture/execute/arith-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/arith-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned
 sat_add (unsigned i)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/arith-rand-ll.c b/gcc/testsuite/gcc.c-torture/execute/arith-rand-ll.c
index 6c3cf1885babccf1f600a944058b09f01dcc163b..c3fdedf9fa6660f1bfe3e5ed15ef428d24a2b1a9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/arith-rand-ll.c
+++ b/gcc/testsuite/gcc.c-torture/execute/arith-rand-ll.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long long
 simple_rand ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/arith-rand.c b/gcc/testsuite/gcc.c-torture/execute/arith-rand.c
index 4af146a1a56e9ccd7c015069bb3447a1298fe443..a6b53ebb131479f7f55b5b91c1b4661879fe2f45 100644
--- a/gcc/testsuite/gcc.c-torture/execute/arith-rand.c
+++ b/gcc/testsuite/gcc.c-torture/execute/arith-rand.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long
 simple_rand ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/bf-layout-1.c b/gcc/testsuite/gcc.c-torture/execute/bf-layout-1.c
index a82429ba2088f52eeee412097c7d4731fd50b270..c359a7dd077a4d5b0e100851ce64047d35b7c3bd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/bf-layout-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/bf-layout-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct { long f8:8; long f24:24; } a;
 struct { long f32:32; } b;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/bf-pack-1.c b/gcc/testsuite/gcc.c-torture/execute/bf-pack-1.c
index ca3b1db763b50604774d5a8176362d9968e0ea4a..9c4e17e03f62c3ad8acd4e98b887158837faa111 100644
--- a/gcc/testsuite/gcc.c-torture/execute/bf-pack-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/bf-pack-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct foo
 {
   unsigned half:16;
diff --git a/gcc/testsuite/gcc.c-torture/execute/bf-sign-1.c b/gcc/testsuite/gcc.c-torture/execute/bf-sign-1.c
index 3cc3eac15fdf8e8080e3075533a352df7fd76f4c..81c7fd975bc4acaa230469cc0e9c9acc050152b5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/bf-sign-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/bf-sign-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   struct  {
diff --git a/gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c b/gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c
index e8e17176ac07e1787a50101759f22c424fb7eb4d..31581ef7aacb9781cfdf928e9052b88892efe28c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c
@@ -13,6 +13,9 @@
  implementing signed and unsigned arithmetic.
  */
 
+void abort (void);
+void exit (int);
+
 struct X {
   unsigned int	     u3:3;
     signed long int  s31:31;
diff --git a/gcc/testsuite/gcc.c-torture/execute/bf64-1.c b/gcc/testsuite/gcc.c-torture/execute/bf64-1.c
index c9241e281c59ef399974aa4a657f59714d338d4e..a4396910816b9f79b1387816fbb2e168a15bb0fc 100644
--- a/gcc/testsuite/gcc.c-torture/execute/bf64-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/bf64-1.c
@@ -1,4 +1,8 @@
 /* { dg-xfail-if "ABI specifies bitfields cannot exceed 32 bits" { mcore-*-* } } */
+
+void abort (void);
+void exit (int);
+
 struct tmp
 {
   long long int pad : 12;
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtin-constant.c b/gcc/testsuite/gcc.c-torture/execute/builtin-constant.c
index 9e5bfb8bfe80496aa5812ace3de848d02edc4ecb..db0a3415afe84be284f66b612872bde2674706e3 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtin-constant.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtin-constant.c
@@ -1,5 +1,8 @@
 /* PR optimization/8423.  */
 
+void abort (void);
+void exit (int);
+
 #define btest(x) __builtin_constant_p(x) ? "1" : "0"
 
 #ifdef __OPTIMIZE__
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-1.c b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-1.c
index 4ee05a94d9f63c159cca72583109eb2f95ed10bb..46e16b8ec7f0042ac73480e320dca270f8b85fff 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-1.c
@@ -3,6 +3,8 @@
    Prefetch using all valid combinations of rw and locality values.
    These must be compile-time constants.  */
 
+void exit (int);
+
 #define NO_TEMPORAL_LOCALITY 0
 #define LOW_TEMPORAL_LOCALITY 1
 #define MODERATE_TEMPORAL_LOCALITY 1
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-2.c b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-2.c
index 530a1b0ef0d9909a8f0e1f71e02be2f17c5eecaf..19f9eaa0c4b1991c0fc49ca7c85d8ad7bd900c72 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-2.c
@@ -3,6 +3,8 @@
    Prefetch data using a variety of storage classes and address
    expressions.  */
 
+void exit (int);
+
 int glob_int_arr[100];
 int *glob_ptr_int = glob_int_arr;
 int glob_int = 4;
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-3.c b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-3.c
index 2e2e808c17206cacdc6fd969ab96370465395ac1..bd186f5bd0d992447cc54fdf6208356179cd8087 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-3.c
@@ -3,6 +3,8 @@
    Prefetch data using a variety of storage classes and address
    expressions with volatile variables and pointers.  */
 
+void exit (int);
+
 int glob_int_arr[100];
 int glob_int = 4;
 volatile int glob_vol_int_arr[100];
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-4.c b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-4.c
index ade892b21a79b24432222a90810ab713063c0219..054220774f49038284c7d3469ef497b2b8c94336 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-4.c
@@ -5,6 +5,9 @@
    data prefetch.  Check changes to pointers and to array indices that are
    either global variables or arguments.  */
 
+void abort (void);
+void exit (int);
+
 #define ARRSIZE 100
 
 int arr[ARRSIZE];
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-5.c b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-5.c
index f42a2c0ca87e3f54770d8dcb04b2f041c605753c..cf4c0c6033b532ed513efbd0a282388095525feb 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-5.c
@@ -5,6 +5,8 @@
    compiler takes care of that.  This fails if it aborts, anything else
    is OK.  */
 
+void exit (int);
+
 struct S {
   short a;
   short b;
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-6.c b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-6.c
index f643c5c7286349b6a394da6a76612c2908cc04e1..02c729037e20066ec823946d7b78bea2037f85f6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-6.c
@@ -4,6 +4,8 @@
 
 #include <limits.h>
 
+void exit (int);
+
 #define ARRSIZE 65
 int *bad_addr[ARRSIZE];
 int arr_used;
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtin-types-compatible-p.c b/gcc/testsuite/gcc.c-torture/execute/builtin-types-compatible-p.c
index a998ef776f7d422cbaad19eeaf341ccfd1a4c8ef..7d12de647ce7e6d69c2bbcf6c4eafd2bc4dbd19e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtin-types-compatible-p.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtin-types-compatible-p.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int i;
 double d;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/cbrt.c b/gcc/testsuite/gcc.c-torture/execute/cbrt.c
index 8659cc7a7237278832819e00bdb97b7ea2ec86dd..552814f7933d3a6aba8c03623f16308fb6add8c4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/cbrt.c
+++ b/gcc/testsuite/gcc.c-torture/execute/cbrt.c
@@ -9,6 +9,9 @@
  * ====================================================
 */
 
+void abort (void);
+void exit (int);
+
 #ifndef __vax__
 static const unsigned long
 	B1 = 715094163, /* B1 = (682-0.03306235651)*2**20 */
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-1.c b/gcc/testsuite/gcc.c-torture/execute/complex-1.c
index 59101796475c87b7b537331243e301e8cf9eb442..0721583742adcc66bd95d9a7bfdaf6fd943b5442 100644
--- a/gcc/testsuite/gcc.c-torture/execute/complex-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/complex-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 double
 g0 (double x)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-2.c b/gcc/testsuite/gcc.c-torture/execute/complex-2.c
index 9634c7943f32fb8d68aa2c9e4c33afe49fc50d46..68ce8616bf31301504c008505e00eb4b210d1223 100644
--- a/gcc/testsuite/gcc.c-torture/execute/complex-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/complex-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 __complex__ double
 f (__complex__ double x, __complex__ double y)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-3.c b/gcc/testsuite/gcc.c-torture/execute/complex-3.c
index 4297cf11ebddcfc52f2d27332886957f353e90d8..1e4cd58e2fb801576f9b4a1e720285b4e6600ef4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/complex-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/complex-3.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct complex
 {
   float r;
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-4.c b/gcc/testsuite/gcc.c-torture/execute/complex-4.c
index 1c458d21fba9b992c67434e2b8f70fa19aaf7473..22b4ca3aba34097cb287a1e4f6f03d2f9b39173f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/complex-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/complex-4.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   if ((__complex__ double) 0.0 != (__complex__ double) (-0.0))
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-5.c b/gcc/testsuite/gcc.c-torture/execute/complex-5.c
index a3338082c46f6340448876cb6e2f8aacdddcd2a0..48a38a161786fbca3f6c983a6627a0761bcbe75e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/complex-5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/complex-5.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 float __complex__
 p (float __complex__  a, float __complex__  b)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/compndlit-1.c b/gcc/testsuite/gcc.c-torture/execute/compndlit-1.c
index 76328c21c2e7f072e74724f5906c1a93fb33b864..9d3043be24a2d4c4d4ed153a06818c5002d03392 100644
--- a/gcc/testsuite/gcc.c-torture/execute/compndlit-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/compndlit-1.c
@@ -1,5 +1,8 @@
 /* The bit-field below would have a problem if __INT_MAX__ is too
    small.  */
+void abort (void);
+void exit (int);
+
 #if __INT_MAX__ < 2147483647
 int
 main (void)
diff --git a/gcc/testsuite/gcc.c-torture/execute/conversion.c b/gcc/testsuite/gcc.c-torture/execute/conversion.c
index 9e62acfd2ada3efebe54687d356f9fa835af73d6..31dcafc4842c2479599f0f8a09eaf47b941ea904 100644
--- a/gcc/testsuite/gcc.c-torture/execute/conversion.c
+++ b/gcc/testsuite/gcc.c-torture/execute/conversion.c
@@ -8,6 +8,9 @@
    Note that this code is NOT intended for testing of accuracy of fp
    conversions.  */
 
+void abort (void);
+void exit (int);
+
 float
 u2f(u)
      unsigned int u;
diff --git a/gcc/testsuite/gcc.c-torture/execute/cvt-1.c b/gcc/testsuite/gcc.c-torture/execute/cvt-1.c
index 6bb193411909d2ec2bf8f1c8bd3d8d010ff2f1f5..647f51738a30669530cebceeb1d66013b1d9d6d3 100644
--- a/gcc/testsuite/gcc.c-torture/execute/cvt-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/cvt-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static inline long
 g1 (double x)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/divconst-1.c b/gcc/testsuite/gcc.c-torture/execute/divconst-1.c
index ce9dd60a8e8cfde673ccce4300bde6d980aa5a08..d7992f699286581e2333cc0294c990142b329671 100644
--- a/gcc/testsuite/gcc.c-torture/execute/divconst-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/divconst-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct
 {
   unsigned a, b, c, d;
diff --git a/gcc/testsuite/gcc.c-torture/execute/divconst-2.c b/gcc/testsuite/gcc.c-torture/execute/divconst-2.c
index b58f1bfddc45530d981843909e1900491adee8a5..17590568445bdbaee34a2bb467e077782b738b9a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/divconst-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/divconst-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long
 f (long x)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/divconst-3.c b/gcc/testsuite/gcc.c-torture/execute/divconst-3.c
index ddd687cbcfde9294ac697bb484f56a9da071d6e6..8febc7f449b146f70a16a1732a91d7dbe9cce57e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/divconst-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/divconst-3.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long long
 f (long long x)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/enum-1.c b/gcc/testsuite/gcc.c-torture/execute/enum-1.c
index 381e354918c41407b619b166be541053567c1154..3d513cc36bcde54dc751e97f27496317202c7338 100644
--- a/gcc/testsuite/gcc.c-torture/execute/enum-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/enum-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef enum
 {
   END = -1,
diff --git a/gcc/testsuite/gcc.c-torture/execute/enum-2.c b/gcc/testsuite/gcc.c-torture/execute/enum-2.c
index dd6f640861a463215da698014fe394bfe20c59f3..7d1db9a2f969d7d3baa11c5eaa8d81f0d38ce235 100644
--- a/gcc/testsuite/gcc.c-torture/execute/enum-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/enum-2.c
@@ -1,6 +1,9 @@
 /* Copyright (C) 2000 Free Software Foundation */
 /* by Alexandre Oliva  <aoliva@redhat.com> */
 
+void abort (void);
+void exit (int);
+
 enum foo { FOO, BAR };
 
 /* Even though the underlying type of an enum is unspecified, the type
diff --git a/gcc/testsuite/gcc.c-torture/execute/extzvsi.c b/gcc/testsuite/gcc.c-torture/execute/extzvsi.c
index 81f16185d21aaced1d51f4766be2097c83e3f49b..ed25d917daefd1cb9c3a8e28913cc4209542af1c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/extzvsi.c
+++ b/gcc/testsuite/gcc.c-torture/execute/extzvsi.c
@@ -1,5 +1,8 @@
 /* The bit-field below would have a problem if __INT_MAX__ is too
    small.  */
+void abort (void);
+void exit (int);
+
 #if __INT_MAX__ < 2147483647
 int
 main (void)
diff --git a/gcc/testsuite/gcc.c-torture/execute/frame-address.c b/gcc/testsuite/gcc.c-torture/execute/frame-address.c
index e453f88435966ae1e10728131484bc142ed2d90b..5afa691e4093b8b20144ba121ca4d34b4bc66009 100644
--- a/gcc/testsuite/gcc.c-torture/execute/frame-address.c
+++ b/gcc/testsuite/gcc.c-torture/execute/frame-address.c
@@ -1,4 +1,6 @@
 /* { dg-require-effective-target return_address } */
+void abort (void);
+
 int check_fa_work (const char *, const char *) __attribute__((noinline));
 int check_fa_mid (const char *) __attribute__((noinline));
 int check_fa (char *) __attribute__((noinline));
diff --git a/gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c b/gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c
index 55f0e10660fcf623e0c8ee76b69cabd658f0ceb5..a4f2f7d4f34cc64210f0aac5b31c6e5e8be795db 100644
--- a/gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static double f (float a);
 static double (*fp) (float a);
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/gofast.c b/gcc/testsuite/gcc.c-torture/execute/gofast.c
index 72774f16e7407ac45ca12ad9f32754e02ec5f28e..4d0326b224a156ea562f3b92ade500006e3aa626 100644
--- a/gcc/testsuite/gcc.c-torture/execute/gofast.c
+++ b/gcc/testsuite/gcc.c-torture/execute/gofast.c
@@ -8,6 +8,9 @@
 
 #include <stdio.h>
 
+void abort (void);
+void exit (int);
+
 float fp_add (float a, float b) { return a + b; }
 float fp_sub (float a, float b) { return a - b; }
 float fp_mul (float a, float b) { return a * b; }
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
index 790cadc3199ca22721357640f703627783d09c6b..600352ef7701d2d9ffbd949633a96e0e5e5c34d8 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 #if __INT_MAX__ != 2147483647 || (__LONG_LONG_MAX__ != 9223372036854775807ll && __LONG_MAX__ != 9223372036854775807ll)
 int main(void) { exit (0); }
 #else
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/20001122-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/20001122-1.c
index fd7e70262aaee39d429cf12935e51bdf0bfe915b..422d2b3925047f77a3aa2e6b0052d431b65d8ecf 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/20001122-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/20001122-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 volatile double a, *p;
 
 int main ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/20010226-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/20010226-1.c
index ec292aca3d4f2e1d6b7ce322b011125cc11ae6c7..6a862209759be392bf8a4cc7f7fa58aa99be1452 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/20010226-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/20010226-1.c
@@ -1,5 +1,7 @@
 #include <float.h>
 
+void abort (void);
+
 long double dfrom = 1.1L;
 long double m1;
 long double m2;
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/20011123-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/20011123-1.c
index e497251fe5c812abce3a3236b69e17dee230a1cc..8a6bff39b7918f9b8ef60fa58e4de3ef46d8e37e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/20011123-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/20011123-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main()
 {
   double db1 = 1.7976931348623157e+308;
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/920518-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/920518-1.c
index 7f072b2981a00d6a5773e7c1ce188161e257d225..ba380b3a8c79827308d991e86d8e672f4ed9f422 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/920518-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/920518-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 unsigned u=2147483839;float f0=2147483648e0,f1=2147483904e0;
 main()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.c
index 62d22940adc54ea6b485eda4682d17a4256754f0..e980c6df35db471aa714369891fb0cdb8eb33d2b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.c
@@ -1,3 +1,5 @@
 #include <stdio.h>
+void abort (void);
+void exit (int);
 double normalize(x)double x;{if(x==0)x=0;return x;}
 main(){char b[9];sprintf(b,"%g",normalize(-0.0));if(strcmp(b,"0"))abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/930529-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/930529-1.c
index b96a3c064232552a48e8c088890b5928373d1716..92407762a24a20817354b5fbb3f2580ea989ed34 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/930529-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/930529-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   union {
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.c
index 0465ed51c8b3e82e7aa08f6dafdd6b449946a1c3..53065475bdab767f6bd0291126ca1b5acbcbf0ab 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.c
@@ -1,3 +1,6 @@
+	void abort (void);
+	void exit (int);
+
 	int main(void)
 	{
 		float reale = 1.0f;
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/acc1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/acc1.c
index e0d969b9ddc9bdd29321f5f506c1281e446d64f2..99e78ee79bfb588c76f7d876c707d8c19428f9f9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/acc1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/acc1.c
@@ -1,5 +1,8 @@
 /* Tail call optimizations would reverse the order of additions in func().  */
 
+void abort (void);
+void exit (int);
+
 double func (const double *array)
 {
   double d = *array;
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/acc2.c b/gcc/testsuite/gcc.c-torture/execute/ieee/acc2.c
index 2a44c8a01a864bd710c9778cb115251ef106be2a..128f11e900017936302dc50c1aa81ec0109d5e9f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/acc2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/acc2.c
@@ -1,6 +1,9 @@
 /* Tail call optimizations would reverse the order of multiplications
    in func().  */
 
+void abort (void);
+void exit (int);
+
 double func (const double *array)
 {
   double d = *array;
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c
index 0655c73a1f8b8a8b2cc88ffc7292bc948594b391..e1329c84b0def3938dd9e4cbdcf70e86a0afff1c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c
@@ -2,6 +2,9 @@
 #include <signal.h>
 #endif
 
+void abort (void);
+void exit (int);
+
 double dnan = 1.0/0.0 - 1.0/0.0;
 double x = 1.0;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.c
index 0f4c6f145f1a28091d3dce57dc1f79741557dc71..b19fa3760e14479e34c3879da093326a68c60225 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.c
@@ -2,6 +2,9 @@
 #include <signal.h>
 #endif
 
+void abort (void);
+void exit (int);
+
 float fnan = 1.0f/0.0f - 1.0f/0.0f;
 float x = 1.0f;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.c
index 710b85ccb2a95cb17406a54a901efccd93d7f215..4caa08a05303c88633da19b2e95ab1632d1be437 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.c
@@ -2,6 +2,9 @@
 #include <signal.h>
 #endif
 
+void abort (void);
+void exit (int);
+
 long double dnan = 1.0l/0.0l - 1.0l/0.0l;
 long double x = 1.0l;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4.c
index d4bb9c6c6b5aaef9923a1348d7a26f232db4395f..fd00273540004311885850fca38f6c54677c808e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 #ifndef FLOAT
 #define FLOAT double
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-5.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-5.c
index 9c70072f4e00eef48c59b3a323ff84dc6931d735..129abf90000d51a9a45e874f74a63206015a6f17 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-5.c
@@ -1,5 +1,8 @@
 /* Like fp-cmp-4.c, but test that the setcc patterns are correct.  */
 
+void abort (void);
+void exit (int);
+
 static int
 test_isunordered(double x, double y)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-6.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-6.c
index 782455831b0fbede529678d6fb8925b576e9ddea..c2a51c3b84b113922463bd0c12c455608c403720 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-6.c
@@ -4,6 +4,7 @@ double x = 1.0;
 
 extern void link_error (void);
 extern void abort (void);
+extern void exit (int);
 
 main ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8.c
index 7e24c66d98df9720bc155226d5fedbf825281779..f351415dce35e6f5730a00abd2ab23635588f46b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 #ifndef FLOAT
 #define FLOAT double
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-9.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-9.c
index 71726346848c25cfbee6393f2d069cb83a27069e..7269b81d7ca9beb11b5239a7b0d00815d6d356a1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-9.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-9.c
@@ -4,6 +4,7 @@ double x = 1.0;
 
 extern void link_error (void);
 extern void abort (void);
+extern void exit (int);
 
 main ()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.c b/gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.c
index 15f7088e19d673162a64e9c21b10483000cb6e32..8e1eafec7c9d049401ff5cbfe9661dfcb0a65f78 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.c
@@ -1,5 +1,8 @@
 #include <math.h>
 
+void abort (void);
+void exit (int);
+
 static const double zero =  0.0;
 static const double pone =  1.0;
 static const double none = -1.0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c b/gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c
index 85715261d6196955b37296febc85fcfbc132084c..83472f1a9ffaf8c525b1b699c3e0a51af8bed159 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   union
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.c
index f4212146cd1fe06c2d0a78aae17ecf1b2b346dfa..31b3cbbf599a5bff9b237eaf83b3e96aff730d49 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.c
@@ -4,6 +4,9 @@
 /* This test requires that float and unsigned int are the same size and
    that the sign-bit of the float is at MSB of the unsigned int.  */
 
+void abort (void);
+void exit (int);
+
 #if __INT_MAX__ != 2147483647L
 int main () { exit (0); }
 #else
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.c b/gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.c
index 00c8efe9136c7d987530661f6b5155677b461227..a252dd30a2dcd8a180a10b7d1948daca69b93ce2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.c
@@ -1,5 +1,8 @@
 /* Test IEEE +0/-0 rules */
 
+void abort (void);
+void exit (int);
+
 static double pzero = +0.0;
 static double nzero = -0.0;
 static double pinf  = +1.0 / 0.0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/mzero3.c b/gcc/testsuite/gcc.c-torture/execute/ieee/mzero3.c
index fdfb8a118137f6e046f1440bb2f693b29771ad9b..3ae0af666e5706bf2c9344e973fbf1c6913c5d0c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/mzero3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/mzero3.c
@@ -3,6 +3,9 @@
 
    In the MMIX port, negdf2 was bogusly expanding -x into 0 - x.  */
 
+void abort (void);
+void exit (int);
+
 double nzerod = -0.0;
 float nzerof = -0.0;
 double zerod = 0.0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/mzero5.c b/gcc/testsuite/gcc.c-torture/execute/ieee/mzero5.c
index 3804c08a80a7633768eeaccbef3282b0c6aa8c50..cdf605e96bfc77c99d955d57d8426e58344ed277 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/mzero5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/mzero5.c
@@ -1,4 +1,5 @@
 /* Test gcse handling of IEEE 0/-0 rules.  */
+void abort (void);
 static double zero = 0.0;
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/mzero6.c b/gcc/testsuite/gcc.c-torture/execute/ieee/mzero6.c
index 59ba6fee15ad622f5f49a989b65489d58cd264fe..7a2616a2017fc6fff432da93187a3485dcc8dce5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/mzero6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/mzero6.c
@@ -8,6 +8,9 @@
    which mishandles the case where 'd' is -0.  They also initialised 'acc'
    to a zero int rather than a zero double.  */
 
+void abort (void);
+void exit (int);
+
 double func (double d, int n)
 {
   if (n == 0)
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/pr28634.c b/gcc/testsuite/gcc.c-torture/execute/ieee/pr28634.c
index a0c525497d72815278629e16d7df45bfd27e304d..eaf13b0f8608f0657b2596a7203b623b0fb75292 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/pr28634.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/pr28634.c
@@ -2,6 +2,8 @@
    dbr_schedule could do the next iteration's addition in the
    branch delay slot, then subtract the value again if the branch
    wasn't taken.  This can lead to rounding errors.  */
+void abort (void);
+void exit (int);
 double x = -0x1.0p53;
 double y = 1;
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c b/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c
index ce13d7e9eed73a756bcf7b41be46c3d930d03a4c..8447590be7d6e0ce850161cab292b1acc88f356a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c
@@ -2,6 +2,9 @@
 #include <ieeefp.h>
 #endif
 
+void abort (void);
+void exit (int);
+
 double d (unsigned long long k)
 {
   double x;
diff --git a/gcc/testsuite/gcc.c-torture/execute/index-1.c b/gcc/testsuite/gcc.c-torture/execute/index-1.c
index d96be4c77b8b093ddb79ac009471c4ae2aa27019..9f2d3b8ddea621c1d99896cdc259b9ffaa8d4808 100644
--- a/gcc/testsuite/gcc.c-torture/execute/index-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/index-1.c
@@ -1,5 +1,8 @@
 /* { dg-skip-if "strict reloc overflow checking" { msp430-*-* } { "*" } { "-mcpu=msp430" "-mlarge"} } */
 
+void abort (void);
+void exit (int);
+
 int a[] =
 {
   0,  1,  2,  3,  4,  5,  6,  7,  8,  9,
diff --git a/gcc/testsuite/gcc.c-torture/execute/longlong.c b/gcc/testsuite/gcc.c-torture/execute/longlong.c
index 56f1d8eab107ca7506e77fe9d2f46e8636236490..8905aeee973a6a6f931b2b7ff80da97a8cc812ba 100644
--- a/gcc/testsuite/gcc.c-torture/execute/longlong.c
+++ b/gcc/testsuite/gcc.c-torture/execute/longlong.c
@@ -1,5 +1,8 @@
 /* Source: PR 321 modified for test suite by Neil Booth 14 Jan 2001.  */
 
+void abort (void);
+void exit (int);
+
 typedef unsigned long long uint64;
 unsigned long pars;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-1.c b/gcc/testsuite/gcc.c-torture/execute/loop-1.c
index 81aeeb6b392c036da6e254acd795d07c5224d92f..6cf6298f7136dae5f239dab65af1f9c0c1b4b30c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main ()
 {
   int i, j, k[3];
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-10.c b/gcc/testsuite/gcc.c-torture/execute/loop-10.c
index 1a6afba6b9592e058fd0b1b4e90bd1cdc1d17b40..563e99e7ac5338c6eb6652b42cb388c71d4ccb42 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-10.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-10.c
@@ -1,5 +1,7 @@
 /* Reduced from PR optimization/5076, PR optimization/2847 */
 
+void abort (void);
+
 static int count = 0;
 
 static void
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-11.c b/gcc/testsuite/gcc.c-torture/execute/loop-11.c
index ab240cef34596a04faf054e56abd4ccdda76df9b..52fb573ba22ceeefed1e02097269ebb3d064812a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-11.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-11.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 static int a[199];
 
 static void
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-13.c b/gcc/testsuite/gcc.c-torture/execute/loop-13.c
index d56c8293d7306d533f8276c52d61edc4386120ce..232621efab1c22eaf5020d1ce8cb67903ead5238 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-13.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-13.c
@@ -1,4 +1,5 @@
 /* PR opt/7130 */
+void abort (void);
 #define TYPE long
 
 void
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-14.c b/gcc/testsuite/gcc.c-torture/execute/loop-14.c
index 8c9929276bc57ced227a710e2922dcf6a74ca9c1..c4015b7abce67d27a24bf174428012ce0974931b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-14.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-14.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int a3[3];
 
 void f(int *a)
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-15.c b/gcc/testsuite/gcc.c-torture/execute/loop-15.c
index 8cb5125a29ea691731155d245c819a0fcf8a2822..40f4915ba68d8742de522e308c03de90bc901fde 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-15.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-15.c
@@ -1,5 +1,7 @@
 /* Bombed with a segfault on powerpc-linux.  doloop.c generated wrong
    loop count.  */
+void abort (void);
+
 void
 foo (unsigned long *start, unsigned long *end)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2b.c b/gcc/testsuite/gcc.c-torture/execute/loop-2b.c
index 7f67bcd639db0287937c491f25b92c059a365643..6bdb86c254b5ee5be29a4aeaa711419c082de1ef 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2b.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-2b.c
@@ -1,5 +1,8 @@
 #include <limits.h>
 
+void abort (void);
+void exit (int);
+
 int a[2];
 
 f (int i)
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2e.c b/gcc/testsuite/gcc.c-torture/execute/loop-2e.c
index 71c7a4d1d87b57e78c2651b9c224e4bbe0729e7d..d064e4e4d10a5aab6abdfda3a72efde4d04a7d49 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2e.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-2e.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 void f (int *p, int **q)
 {
   int i;
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-4.c b/gcc/testsuite/gcc.c-torture/execute/loop-4.c
index b308aa27689afe936944a463fd2e15dc67aad654..a24ced3011f86657bc3962d3ff58df89526c912f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-4.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 f()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-4b.c b/gcc/testsuite/gcc.c-torture/execute/loop-4b.c
index eaf7f30c4c557e0f56b190dd7c17cbaa3714eb0e..a6287e77fdf5c80dd860d9325c285651484c90d2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-4b.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-4b.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int
 f()
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-5.c b/gcc/testsuite/gcc.c-torture/execute/loop-5.c
index 44ece275be1c35868200f16ed38dece192771753..8f5dc68046145c76d0e0a509887a06bc6a490671 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-5.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 static int ap(int i);
 static void testit(void){
   int ir[4] = {0,1,2,3};
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-6.c b/gcc/testsuite/gcc.c-torture/execute/loop-6.c
index 42eb9e7d5e8cff7d55dc0c6bc4a9751a65a95e18..2b624202fc823eb80534f72801a83da93bd1be83 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-6.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 main()
 {
   char c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-7.c b/gcc/testsuite/gcc.c-torture/execute/loop-7.c
index 48a2599b281ffafb4239d9870ced001fa6e590db..64c704bbfcaf19a9b7f089de175da65e133c1bce 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-7.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-7.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void foo (unsigned int n)
 {
   int i, j = -1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-8.c b/gcc/testsuite/gcc.c-torture/execute/loop-8.c
index e8d8cb5f045d8c1f25d11efcd3cb90de7cafbdb9..5e7ac188276ca5d453746a561e20a89ae0995ab2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/loop-8.c
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-8.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 double a[3] = { 0.0, 1.0, 2.0 };
 
 void bar (int x, double *y)
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcpy-1.c b/gcc/testsuite/gcc.c-torture/execute/memcpy-1.c
index 558c9370abb9aae09773381b3d6bafe7661f2daf..43fbb60cc63199b1e0aac6e4f117638cbd52c168 100644
--- a/gcc/testsuite/gcc.c-torture/execute/memcpy-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/memcpy-1.c
@@ -2,6 +2,9 @@
 
 #include <string.h>
 
+void abort (void);
+void exit (int);
+
 #if defined (STACK_SIZE)
 #define MEMCPY_SIZE (STACK_SIZE / 3)
 #else
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcpy-2.c b/gcc/testsuite/gcc.c-torture/execute/memcpy-2.c
index f328b64778d9af8b27cfd76586e5377da0511f01..e330ef1662fdfc6da839533f715dc5c2dcdfd797 100644
--- a/gcc/testsuite/gcc.c-torture/execute/memcpy-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/memcpy-2.c
@@ -7,6 +7,9 @@
 
 #include <string.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef MAX_OFFSET
 #define MAX_OFFSET (sizeof (long long))
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcpy-bi.c b/gcc/testsuite/gcc.c-torture/execute/memcpy-bi.c
index 40b1030802e65c0797558f07f9d8344e978912f4..ee7f6020021d2b6e9025114256b0a11e265e66f7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/memcpy-bi.c
+++ b/gcc/testsuite/gcc.c-torture/execute/memcpy-bi.c
@@ -1,6 +1,8 @@
 /* Test builtin-memcpy (which may emit different code for different N).  */
 #include <string.h>
 
+void abort (void);
+
 #define TESTSIZE 80
 
 char src[TESTSIZE] __attribute__ ((aligned));
diff --git a/gcc/testsuite/gcc.c-torture/execute/memset-1.c b/gcc/testsuite/gcc.c-torture/execute/memset-1.c
index b0b70f3e67dfacd0ade1da81beb891d73d3d4078..0da5c9576ef0123fc8c9c3ebc2d94ba0bdaba7fe 100644
--- a/gcc/testsuite/gcc.c-torture/execute/memset-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/memset-1.c
@@ -7,6 +7,9 @@
 
 #include <string.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef MAX_OFFSET
 #define MAX_OFFSET (sizeof (long long))
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/memset-2.c b/gcc/testsuite/gcc.c-torture/execute/memset-2.c
index 07c3db378af4b522645c6d92c3432554ec44824d..befad1e162b6d4ad9ab928eadf8f905d4176804c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/memset-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/memset-2.c
@@ -5,6 +5,9 @@
 
    Written by Roger Sayle, April 22, 2002.  */
 
+void abort (void);
+void exit (int);
+
 #ifndef MAX_OFFSET
 #define MAX_OFFSET (sizeof (long long))
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/memset-3.c b/gcc/testsuite/gcc.c-torture/execute/memset-3.c
index 64032a7754096e9ed119d2d06ff821715279c844..f1fa932ce92b4f05ec3c0015bcca329d920bf0d4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/memset-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/memset-3.c
@@ -5,6 +5,9 @@
 
    Written by Roger Sayle, July 22, 2002.  */
 
+void abort (void);
+void exit (int);
+
 #ifndef MAX_OFFSET
 #define MAX_OFFSET (sizeof (long long))
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/multdi-1.c b/gcc/testsuite/gcc.c-torture/execute/multdi-1.c
index 1ffcc578e516617c0e73000c13aab120c7b51b80..05d092f474d22d9aeef9608c888c4dae09e8d6ef 100644
--- a/gcc/testsuite/gcc.c-torture/execute/multdi-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/multdi-1.c
@@ -1,5 +1,7 @@
 /* PR target/9348 */
 
+void abort (void);
+
 #define u_l_l unsigned long long
 #define l_l long long
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/multi-ix.c b/gcc/testsuite/gcc.c-torture/execute/multi-ix.c
index 39567f1f0a78d6a3e00123cf1b5f6ea82254dcd9..f1eeab6e3f868638ba6c8c62cea26964f7888405 100644
--- a/gcc/testsuite/gcc.c-torture/execute/multi-ix.c
+++ b/gcc/testsuite/gcc.c-torture/execute/multi-ix.c
@@ -13,6 +13,9 @@
 
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 #ifdef STACK_SIZE
 /* We need to be careful that we don't blow our stack.  Function f, in the
    worst case, needs to fit on the stack:
diff --git a/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c b/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c
index 492670b5a1e729c5a2d32f98049ff6708120fc2a..762d838d0a58df9e798a9e2d884b68f8e33c2c4c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 main ()
 {
   double f (int x, ...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c b/gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c
index 29ccfc399bd725e368abedbb22d1978e7fc65779..f8a75e8cfa268a55bfab15e73dd6140cde3c88b5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target trampolines } */
 
+void abort (void);
+void exit (int);
+
 int
 g (int a, int b, int (*gi) (int, int))
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/nestfunc-2.c b/gcc/testsuite/gcc.c-torture/execute/nestfunc-2.c
index 1a25a17449ee4f9b0b962fe95adec32525cb9f66..d5c5280a27e111ba610ca06060929a3b9caf8e61 100644
--- a/gcc/testsuite/gcc.c-torture/execute/nestfunc-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/nestfunc-2.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target trampolines } */
 
+void abort (void);
+void exit (int);
+
 extern int foo (int, int, int (*) (int, int, int, int, int, int, int));
 
 int z;
diff --git a/gcc/testsuite/gcc.c-torture/execute/nestfunc-3.c b/gcc/testsuite/gcc.c-torture/execute/nestfunc-3.c
index 2bdfece9c5be5c36f7cb41d4232466fc3e34f392..5f37376485f16519bbe39f38b0aac997da7ac1b7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/nestfunc-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/nestfunc-3.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target trampolines } */
 
+void abort (void);
+void exit (int);
+
 extern long foo (long, long, long (*) (long, long));
 extern long use (long (*) (long, long), long, long);
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/nestfunc-4.c b/gcc/testsuite/gcc.c-torture/execute/nestfunc-4.c
index c7225700709f3112c50c3afaf790ca960bb75c66..743ca5cea387ffc3ac8c6e3e41e01ff0dfc90b84 100644
--- a/gcc/testsuite/gcc.c-torture/execute/nestfunc-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/nestfunc-4.c
@@ -5,6 +5,9 @@
    functions without parameters that each need at least one "long"
    preserved.  Exposed problems related to the MMIX port.  */
 
+void abort (void);
+void exit (int);
+
 long level = 0;
 extern long foo (void);
 extern long bar (void);
diff --git a/gcc/testsuite/gcc.c-torture/execute/packed-1.c b/gcc/testsuite/gcc.c-torture/execute/packed-1.c
index 9b226aeab9b49dab623b75945f2270914a0f8f39..689592a2ea84d42c280a305bfb20e0c12c2d2cba 100644
--- a/gcc/testsuite/gcc.c-torture/execute/packed-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/packed-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 short x1 = 17;
 
 struct
diff --git a/gcc/testsuite/gcc.c-torture/execute/pending-4.c b/gcc/testsuite/gcc.c-torture/execute/pending-4.c
index 8000621e6b6d5c020f551e5a1d025e5980c8bad8..7eea10bb0714019d4457cf709db887169eeab26d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pending-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pending-4.c
@@ -1,3 +1,5 @@
+void abort (void);
+void exit (int);
 
 void dummy (x, y)
      int *x;
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr15262-1.c b/gcc/testsuite/gcc.c-torture/execute/pr15262-1.c
index f6a6fe40b73b8181eee778151e348dc0ab8ecb66..4ff613555e30e69401fec1981f2c5221596ba36c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr15262-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr15262-1.c
@@ -6,6 +6,9 @@
    
    However, if there are no common symbols between P and Q, TBAA will
    currently miss their alias relationship altogether.  */
+
+void abort (void);
+
 struct A
 {
   int t;
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr15262-2.c b/gcc/testsuite/gcc.c-torture/execute/pr15262-2.c
index 82e8aabd1aba0d2c7cfaea1469d70e55a9d12077..3701a657483efd5840a19589337637717fd097d3 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr15262-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr15262-2.c
@@ -2,6 +2,9 @@
    being taken in function foo().  Without IPA, by only looking inside
    foo() we cannot tell for certain whether 'q' and 'b' alias each
    other.  */
+
+void abort (void);
+
 struct A
 {
   int t;
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr15262.c b/gcc/testsuite/gcc.c-torture/execute/pr15262.c
index 2110f33a04a3c224d8c3de9d5e5581378125dd61..ee743faebaf0dc5342f6df405c1f37d9bb2baf09 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr15262.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr15262.c
@@ -1,5 +1,8 @@
 /* We used to mis-compile this testcase as we did not know that
    &a+offsetof(b,a) was the same as &a.b */
+
+void abort (void);
+
 struct A
 {
   int t;
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr15296.c b/gcc/testsuite/gcc.c-torture/execute/pr15296.c
index a3b53cb976e34a320ebb5846199d0fab81805318..c87a9136bb960b5db4277549104f53442c240faf 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr15296.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr15296.c
@@ -3,6 +3,9 @@
    fall-through code, while that register held a pointer used in code at
    the branch target.  */
 
+void abort (void);
+void exit (int);
+
 typedef __INTPTR_TYPE__ intptr_t;
 typedef intptr_t W;
 union u0
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr17252.c b/gcc/testsuite/gcc.c-torture/execute/pr17252.c
index bd1b6b99e982781721a6592beba0a231fe017cae..ad45916655e32fba8d55831154ef18ed7ab490ed 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr17252.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr17252.c
@@ -1,6 +1,8 @@
 /* PR 17252.  When a char * pointer P takes its own address, storing
    into *P changes P itself.  */
 
+void abort (void);
+
 char *a;
 
 main ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr17377.c b/gcc/testsuite/gcc.c-torture/execute/pr17377.c
index 11094d1bea5b3d1da1864ae3c2a8dd5fbd55e861..9b2ce078e01a1eb7e71998f28d8c7e3568e19967 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr17377.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr17377.c
@@ -2,6 +2,9 @@
    Bug in code emitted by "return" pattern on CRIS: missing pop of
    forced return address on stack.  */
 /* { dg-require-effective-target return_address } */
+void abort (void);
+void exit (int);
+
 int calls = 0;
 
 void *f (int) __attribute__ ((__noinline__));
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr19606.c b/gcc/testsuite/gcc.c-torture/execute/pr19606.c
index d1e836fa028a46ecbda2a195dfc467bb31601bdf..b857ddeaa73ed21793046f8811671422928be658 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr19606.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr19606.c
@@ -3,6 +3,9 @@
    that does not preserve the semantics of the original computation.
    Make sure that won't happen.  */
 
+void abort (void);
+void exit (int);
+
 signed char a = -4;
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr21964-1.c b/gcc/testsuite/gcc.c-torture/execute/pr21964-1.c
index b7e1e0dbaea3a7ac810c338700b75157c29b1fb1..efd427be62989f99754f4f1c5bd2065d808303c6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr21964-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr21964-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void
 foo (int n, int m)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr22061-2.c b/gcc/testsuite/gcc.c-torture/execute/pr22061-2.c
index 4e1be8f0e1da6d6af1392cb709b3786d46adb3fc..f4b5e1a5b2157c863a2c92c99099c27ba6a441c2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr22061-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr22061-2.c
@@ -1,3 +1,4 @@
+void exit (int);
 int *x;
 static void bar (char a[2][(*x)++]) {}
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr22061-3.c b/gcc/testsuite/gcc.c-torture/execute/pr22061-3.c
index a805948182f318cfbfe5f7cd6cb93f1df77b5414..2a2d7ff1bb97e621b4b386f2c26f01f6e533c212 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr22061-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr22061-3.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void
 bar (int N)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr22061-4.c b/gcc/testsuite/gcc.c-torture/execute/pr22061-4.c
index f7c89e631be32c094145a75802fee5bb8da0981e..14b11cead9709231ec2728aa2ba4e1a437f84b0f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr22061-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr22061-4.c
@@ -1,4 +1,7 @@
 /* { dg-skip-if "requires alloca" { ! alloca } { "-O0" } { "" } } */
+void abort (void);
+void exit (int);
+
 void
 bar (int N)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr23467.c b/gcc/testsuite/gcc.c-torture/execute/pr23467.c
index 97a5af7780f0863ec777a8e20225f3a0043029d0..60743f11fc9bbca262983057c204122da615ec29 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr23467.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr23467.c
@@ -1,5 +1,8 @@
 /* { dg-skip-if "small alignment" { pdp11-*-* } } */
 
+void abort (void);
+void exit (int);
+
 struct s1
 {
   int __attribute__ ((aligned (8))) a;
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr27073.c b/gcc/testsuite/gcc.c-torture/execute/pr27073.c
index a58e9acae6093d0f3c4e9a34e49035ce1f5c6c46..fe669ea646371478e76a025614e5a95b5dd65c4f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr27073.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr27073.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void __attribute__((noinline))
 foo (int *p, int d1, int d2, int d3,
      short count, int s1, int s2, int s3, int s4, int s5)
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr27364.c b/gcc/testsuite/gcc.c-torture/execute/pr27364.c
index aa608b2a2fedd9ac75c4023e3ce088d4241095b9..7b4bffbe59baf6e602d6c5ace176f333567d94f1 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr27364.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr27364.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 int f(unsigned number_of_digits_to_use)
 {
   if (number_of_digits_to_use >1294)
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr28403.c b/gcc/testsuite/gcc.c-torture/execute/pr28403.c
index 8f85ea08505c3cd04e6e4d08ec2c58b090fba9b3..551dd857ce8128aeea5dd6f484678e38f4b30c9c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr28403.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr28403.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef unsigned long long ull;
 int global;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr31605.c b/gcc/testsuite/gcc.c-torture/execute/pr31605.c
index 12a57ac1ea68a28835c8b8e90c632d8b6c7901e0..903e20b43d1426442c3e3571c9f85714668786cf 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr31605.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr31605.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 void put_field (unsigned int start, unsigned int len)
 {
   int cur_bitshift = ((start + len) % 8) - 8;
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr38969.c b/gcc/testsuite/gcc.c-torture/execute/pr38969.c
index 328bdf4474b6c46cfbbe5b4614d04850d21bdbd5..aa2d12ec73f34c989126ab7dfdafdac71838f97e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr38969.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr38969.c
@@ -1,3 +1,5 @@
+void abort (void);
+
 __complex__ float
 __attribute__ ((noinline)) foo (__complex__ float x)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr40657.c b/gcc/testsuite/gcc.c-torture/execute/pr40657.c
index e6d8dda9f99e8cb8fadaa15cc8a1f769aa03127c..78b4a73b81e9386f7cd0e62bedb5a2a73797ab9c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr40657.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr40657.c
@@ -1,6 +1,9 @@
 /* Verify that that Thumb-1 epilogue size optimization does not clobber the
    return value.  */
 
+void abort (void);
+void exit (int);
+
 long long v = 0x123456789abc;
 
 __attribute__((noinline)) void bar (int *x)
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr44575.c b/gcc/testsuite/gcc.c-torture/execute/pr44575.c
index 62a7d7800b0f85f2be8451116c5dda76286f16b9..24e6593210c9e153798c1bc31c1daea5095f849e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr44575.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr44575.c
@@ -2,6 +2,8 @@
 
 #include <stdarg.h>
 
+void abort (void);
+
 int fails = 0;
 struct S { float a[3]; };
 struct S a[5];
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr56799.c b/gcc/testsuite/gcc.c-torture/execute/pr56799.c
index a8558ea324367d591ab92c36cdc547698f3ff31c..1e63bfe361db99f368b1386d5e2a86621134b739 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr56799.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr56799.c
@@ -1,6 +1,10 @@
 /* { dg-require-effective-target int32plus } */
 
 #include <stdio.h>
+
+void abort (void);
+void exit (int);
+
 typedef struct { int x; int y;} S;
 extern int foo(S*);
 int hi = 0, lo = 0;
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr58640.c b/gcc/testsuite/gcc.c-torture/execute/pr58640.c
index 7786b8d0c9fde7fe2a7e9e019cb1d7e762215ffc..c75ea1a748d98f9ed1f7e14771f9350d213545c9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr58640.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr58640.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 int a, b, c, d = 1, e;
 
 static signed char
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr71335.c b/gcc/testsuite/gcc.c-torture/execute/pr71335.c
index cbfd99083d072d9fb16ae2c8c754b079d5df260f..3e336a9d2aa6cc482a134f5fccdc6e0346f1c645 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr71335.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr71335.c
@@ -1,3 +1,5 @@
+void exit (int);
+
 int a;
 int
 main ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c b/gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c
index 46162b8964d8b01937ade4d12fa42da62a16150f..e5ac0190635a47c87ed8ba2f51bbf92be6b051ed 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 char *
 f (char *s, unsigned int i)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/regstack-1.c b/gcc/testsuite/gcc.c-torture/execute/regstack-1.c
index 51fb858cf9287559838c86b4de3fea5a629e52cc..7e73106d5e19fcb9c9ca553aaaba9b4bb3bb31d4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/regstack-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/regstack-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 long double C = 5;
 long double U = 1;
 long double Y2 = 11;
diff --git a/gcc/testsuite/gcc.c-torture/execute/scope-1.c b/gcc/testsuite/gcc.c-torture/execute/scope-1.c
index cedd0b48ccb2026c5b4ae98759f2c4fe9a6f40a0..131803b0d284fd07c7e36b9b378f8441d3731555 100644
--- a/gcc/testsuite/gcc.c-torture/execute/scope-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/scope-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 int v = 3;
 
 f ()
diff --git a/gcc/testsuite/gcc.c-torture/execute/simd-1.c b/gcc/testsuite/gcc.c-torture/execute/simd-1.c
index 97d8206976455dde63f7d8cd3329595fdd653e6b..fbd3f5ce76999d94d2f3029cde2b76f21f68fac9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/simd-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/simd-1.c
@@ -4,6 +4,9 @@
    regardless of if the target has SIMD instructions.
 */
 
+void abort (void);
+void exit (int);
+
 typedef int __attribute__((mode(SI))) __attribute__((vector_size (16))) vecint;
 typedef int __attribute__((mode(SI))) siint;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/simd-2.c b/gcc/testsuite/gcc.c-torture/execute/simd-2.c
index d4f506a7641931c6b6354a022efed80f355b4500..985f529b78b008aad59af9ccb942154ed6ef1daa 100644
--- a/gcc/testsuite/gcc.c-torture/execute/simd-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/simd-2.c
@@ -3,6 +3,9 @@
    regardless of if the target has SIMD instructions.
 */
 
+void abort (void);
+void exit (int);
+
 typedef short __attribute__((vector_size (16))) vecint;
 
 vecint i = { 150, 100, 150, 200, 0, 0, 0, 0 };
diff --git a/gcc/testsuite/gcc.c-torture/execute/simd-4.c b/gcc/testsuite/gcc.c-torture/execute/simd-4.c
index 8a92cfe9073940aa3b0219772660466e01f60295..ba0b0d33eecd178faeac6dff0486e599208ec5c6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/simd-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/simd-4.c
@@ -1,5 +1,8 @@
 /* { dg-require-effective-target stdint_types } */
 #include <stdint.h>
+
+void abort (void);
+
 typedef int32_t __attribute__((vector_size(8))) v2si;
 int64_t s64;
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/simd-5.c b/gcc/testsuite/gcc.c-torture/execute/simd-5.c
index f0584328716b7ad794a978a543a73ab555705347..4be89d0346a7d8ceecab04c3c231b2f780665006 100644
--- a/gcc/testsuite/gcc.c-torture/execute/simd-5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/simd-5.c
@@ -1,5 +1,7 @@
 /* Test saving and restoring of SIMD registers.  */
 
+void abort (void);
+
 typedef short Q __attribute__((vector_size(8)));
 
 Q q1 = {1, 2}, q2 = {3, 4}, q3 = {5, 6}, q4 = {7, 8};
diff --git a/gcc/testsuite/gcc.c-torture/execute/strcmp-1.c b/gcc/testsuite/gcc.c-torture/execute/strcmp-1.c
index 79999af3cbe8866f85b0efba48ae4227cdf89594..5f3f3d11ed94d4a960491e19a11131fe557eff40 100644
--- a/gcc/testsuite/gcc.c-torture/execute/strcmp-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/strcmp-1.c
@@ -8,6 +8,9 @@
 #include <string.h>
 #include <stddef.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef MAX_OFFSET
 #define MAX_OFFSET (sizeof (long long))
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/strcpy-1.c b/gcc/testsuite/gcc.c-torture/execute/strcpy-1.c
index 9484e95d922b61c9598acc14abab67d48094a411..1ce809a55a13fc74b4499313d7d46a50e73cdd92 100644
--- a/gcc/testsuite/gcc.c-torture/execute/strcpy-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/strcpy-1.c
@@ -5,6 +5,9 @@
 
 #include <string.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef MAX_OFFSET
 #define MAX_OFFSET (sizeof (long long))
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c b/gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c
index 7b702f2cd682f3ba992eb7dd4fdd9529b33dbb5a..e1370a01a904c7f5bb94c5bd3250fa3bc93bb93e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct
 {
   short s __attribute__ ((aligned(2), packed));
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-pack-2.c b/gcc/testsuite/gcc.c-torture/execute/strct-pack-2.c
index be76c764521b3e9d922bee99276a97d3aaaf21c7..e50bb00a8b7952d0a1c2b01a974b65e56cce03cc 100644
--- a/gcc/testsuite/gcc.c-torture/execute/strct-pack-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/strct-pack-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct
 {
   short a __attribute__ ((aligned (2),packed));
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-pack-4.c b/gcc/testsuite/gcc.c-torture/execute/strct-pack-4.c
index 56d315f47ff07d7c7cf23b72a8de95cbacaa1367..66d09c82fe3b277eed3d5cac0f9a45945b0cfbdc 100644
--- a/gcc/testsuite/gcc.c-torture/execute/strct-pack-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/strct-pack-4.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct
 {
   unsigned char a __attribute__((packed));
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.c b/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.c
index 508c954705a876beba1fa78500d54ca99a68ae62..92f182f7d82a09c57bfb33142dfc55a588fbbfcf 100644
--- a/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 struct tiny
 {
   char c;
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c b/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c
index ddd6f05d5acc0f17a2aea6c2719051b7e967c0a3..6724885d62830ce09c83efb7f9590b89eb94ff51 100644
--- a/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 struct s { int x, y; };
 
 f (int attr, ...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/strlen-1.c b/gcc/testsuite/gcc.c-torture/execute/strlen-1.c
index c29592b8b88791d9f7a380edfc81f268b62f891d..bbfe9f3773c44d834511d862b60034a5a4ebe8a0 100644
--- a/gcc/testsuite/gcc.c-torture/execute/strlen-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/strlen-1.c
@@ -8,6 +8,9 @@
 #include <string.h>
 #include <stddef.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef MAX_OFFSET
 #define MAX_OFFSET (sizeof (long long))
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/strncmp-1.c b/gcc/testsuite/gcc.c-torture/execute/strncmp-1.c
index c2448591d96c57c71768025d5d629a8e2b35707a..aa662d1bf8df744f328adb9bc0c3c24e850e4dc9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/strncmp-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/strncmp-1.c
@@ -9,6 +9,9 @@
 #include <string.h>
 #include <stddef.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef MAX_OFFSET
 #define MAX_OFFSET (sizeof (long long))
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ini-1.c b/gcc/testsuite/gcc.c-torture/execute/struct-ini-1.c
index ab2d178a7515017d51605c3f867997f93849b1a2..a7dd0129f59d05186fe407aa6ef1977ea26c49df 100644
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ini-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/struct-ini-1.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct S
 {
   char f1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ini-2.c b/gcc/testsuite/gcc.c-torture/execute/struct-ini-2.c
index c785257ccbaa92776bbd09e8af7fffe16e163885..ebab373115515996babead4f8522392f47434613 100644
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ini-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/struct-ini-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct {
   int a:4;
   int :4;
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ini-3.c b/gcc/testsuite/gcc.c-torture/execute/struct-ini-3.c
index 7d282ecb8afabd6a0c4e2454e9ca67fcb65e9df2..37ceb6c176ca7664ce06493c9b0c8716cc5a5a7d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ini-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/struct-ini-3.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct
 {
   unsigned int f1:1, f2:1, f3:3, f4:3, f5:2, f6:1, f7:1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ini-4.c b/gcc/testsuite/gcc.c-torture/execute/struct-ini-4.c
index 3342439e54d26d456828d65e6045075a7860f553..3499bd306705c283b9f70fe056d21066ff4e796f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ini-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/struct-ini-4.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 struct s {
   int a[3];
   int c[3];
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c b/gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c
index e5274ec4c15f963ae5e810e6a5afab77955b1107..0e5ad2ce4580817e52c4f185565860ae07776842 100644
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c
@@ -1,6 +1,9 @@
 #include <stdio.h>
 #include <string.h>
 
+void abort (void);
+void exit (int);
+
 char out[100];
 
 typedef struct { double d; int i[3]; } B;
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ret-2.c b/gcc/testsuite/gcc.c-torture/execute/struct-ret-2.c
index 06a40a720999964bd7d7009e13d7bc8d8507e406..57cf79f6e438f506f36465363977a296da61d1c7 100644
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ret-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/struct-ret-2.c
@@ -1,3 +1,6 @@
+void abort (void);
+void exit (int);
+
 typedef struct
 {
   unsigned char a __attribute__ ((packed));
diff --git a/gcc/testsuite/gcc.c-torture/execute/usmul.c b/gcc/testsuite/gcc.c-torture/execute/usmul.c
index 42b447a27fc3f06072449a945d09f5cf0c19dba6..11d485109de99196b3b698929718a8ff064b2d35 100644
--- a/gcc/testsuite/gcc.c-torture/execute/usmul.c
+++ b/gcc/testsuite/gcc.c-torture/execute/usmul.c
@@ -1,4 +1,7 @@
 /* { dg-require-effective-target int32plus } */
+void abort (void);
+void exit (int);
+
 int __attribute__ ((noinline)) foo (short x, unsigned short y)
 {
   return x * y;
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-1.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-1.c
index 3f3b141a931767a25a2e0c7e014e5bc3f7eda6d1..d21007d6c7041ce80b894abde8f492424626376c 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-1.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 typedef unsigned long L;
 f (L p0, L p1, L p2, L p3, L p4, L p5, L p6, L p7, L p8, ...)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-10.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-10.c
index 5ce3453acb6c6d26f87c893d716df0f7af0d985e..c52d0b03adcae30b36f31f201dcabeaf7f0e167f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-10.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-10.c
@@ -2,6 +2,9 @@
 
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 #ifndef va_copy
 #define va_copy __va_copy
 #endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-11.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-11.c
index b178b880d4550a43d21c6e8a63ec85961ffcc7ac..5b4a1425d662fb0a2ef3d43ca065cd59ef186913 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-11.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-11.c
@@ -2,6 +2,9 @@
    side effect is used.  */
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 static int
 foo (int a, ...)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-12.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-12.c
index f2971d91e0b8d9a24f39ba5cd0f14b69982566ca..658a4a7eb3e31649a2ff9eb49d134c7e1d34ffa0 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-12.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-12.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 /*typedef unsigned long L;*/
 typedef double L;
 void f (L p0, L p1, L p2, L p3, L p4, L p5, L p6, L p7, L p8, ...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-13.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-13.c
index 65caf2b9af1ac5c9777f17a17f64fbaafb6d13d3..5b96e5c6a5a10b8eb355eef25436b6b6fffc4744 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-13.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-13.c
@@ -2,6 +2,9 @@
 
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 typedef struct {
   void *stream;
   va_list ap;
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-14.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-14.c
index d8b517a423b5d1a3e31fa8f87816c5a305d41960..c7c72ccb6141ee51bb8797d0f7d1497b39d10577 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-14.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-14.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 va_list global;
 
 void vat(va_list param, ...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-15.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-15.c
index 24411f8c404079d949394b76c1cf11903bb3c5d1..49039d91944c486443c7159643d3a82039c3ed5d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-15.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-15.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 void vafunction (char *dummy, ...)
 {
   double darg;
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-16.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-16.c
index 1115ef0855d9337591db477290afa7a81c42ea6a..e77ddc945b4872d53b5c75042c9e9f5575085f0b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-16.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-16.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 typedef double TYPE;
 
 void vafunction (TYPE dummy1, TYPE dummy2, ...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c
index 17850db14433882184a49c02c47e063f5483348f..01254dfa61477a95571ae6dd9a870740e78f9c7d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 typedef double TYPE;
 
 void vafunction (char *dummy, ...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-18.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-18.c
index 00dd54f4fd00afd521578dd729c1d5bea8df86ba..56b5652a6a700560c6ee72b6adb516a0b5a07776 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-18.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-18.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 typedef double L;
 void f (L p0, L p1, L p2, L p3, L p4, L p5, L p6, L p7, L p8, ...)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-19.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-19.c
index 9fdf49d89dd641e235ab645b17ca784102de715e..45eee67f9d32da4f565a22386c5b6c632d05c844 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-19.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-19.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 typedef int TYPE;
 
 void vafunction (char *dummy, ...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-2.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-2.c
index 7675b3f760357f8069e402431c0273ca3afa8992..965c94db9b399c9182aedea3063521e18cf8c41d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-2.c
@@ -5,6 +5,8 @@
 
 #include <stdarg.h>
 
+extern void abort (void);
+extern void exit (int);
 extern __SIZE_TYPE__ strlen ();
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-20.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-20.c
index 2e8e5640d8c9043d3523185444f4c5ac29cf550a..8ad98f2cfbea6bdc7f91b2518ac1d64e20f73102 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-20.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-20.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 void foo(va_list v)
 {
     unsigned long long x = va_arg (v, unsigned long long);
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c
index 89a11cf9f7357f470f0426f6ae5580fbec6f656f..b9cd0e3a4a2da9154f58f48b468dc8a531cf484f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c
@@ -5,6 +5,8 @@
 
 #include <stdarg.h>
 
+void abort(void);
+
 struct two { long x, y; };
 
 void foo(int a, int b, int c, int d, int e, struct two f, int g, ...)
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-26.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-26.c
index 8221e9c42a53cc90f812077a8711c2623d71cfbb..18343059fe09993aa17bda348a2a6711b963e9ca 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-26.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-26.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 double f (float f1, float f2, float f3, float f4,
 	  float f5, float f6, ...)
 {
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-4.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-4.c
index a824f64ffa1f5969b1b34aa998b85aa21231d14f..75295d81f9bcdd8c56eb1f57b5b04dd5a0eadf62 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-4.c
@@ -3,6 +3,9 @@
 
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 typedef struct {
   char a[32];
 } big;
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-5.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-5.c
index 3d8b1a79ad11a3d54c94dfed2cca060ec6b9aa72..eaa2010fc5c80d47ef7a25b27670029c7d691bd6 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-5.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-5.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 va_double (int n, ...)
 {
   va_list args;
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-6.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-6.c
index e8d495d66e767cd187308dfce96f37350b05addf..3a3bb4f312d2e2a9af60288848c3aac3e1dcc0e5 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-6.c
@@ -1,5 +1,8 @@
 #include <stdarg.h>
 
+void abort (void);
+void exit (int);
+
 f (int n, ...)
 {
   va_list args;
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-9.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-9.c
index f0a92dcdd7287508b665c80a91d440146080f201..28d43e6d3cb10cb45399eb0110589e96abd82e87 100644
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-9.c
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-9.c
@@ -3,6 +3,8 @@
 
 #include <stdarg.h>
 
+extern void abort (void);
+extern void exit (int);
 extern __SIZE_TYPE__ strlen (const char *);
 
 int
diff --git a/gcc/testsuite/gcc.c-torture/execute/widechar-1.c b/gcc/testsuite/gcc.c-torture/execute/widechar-1.c
index 45b9d89b4b46c0bd9d6bd609de3cbcfd6b74c0f9..44a3e5151f90e6a78310c485b6f50dfe4c098d54 100644
--- a/gcc/testsuite/gcc.c-torture/execute/widechar-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/widechar-1.c
@@ -1,3 +1,6 @@
+void abort(void);
+void exit(int);
+
 #define C L'\400'
 
 #if C
diff --git a/gcc/testsuite/gcc.c-torture/execute/widechar-2.c b/gcc/testsuite/gcc.c-torture/execute/widechar-2.c
index 9e6a73bcd29d7eafac0cb7109159d690e016ba13..5ae23fce94ea1156fd30fc2d7af62abbbcdb5492 100644
--- a/gcc/testsuite/gcc.c-torture/execute/widechar-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/widechar-2.c
@@ -1,5 +1,8 @@
 #include <stddef.h>
 
+void abort(void);
+void exit(int);
+
 const wchar_t ws[] = L"foo";
 
 int