20001023-1.c, [...]: Declare built-in functions used.
authorJoseph Myers <jsm@polyomino.org.uk>
Tue, 3 Aug 2004 08:22:26 +0000 (09:22 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Tue, 3 Aug 2004 08:22:26 +0000 (09:22 +0100)
* gcc.dg/20001023-1.c, gcc.dg/20001108-1.c, gcc.dg/20001117-1.c,
gcc.dg/20010202-1.c, gcc.dg/20011008-2.c, gcc.dg/20011214-1.c,
gcc.dg/20020201-1.c, gcc.dg/20020312-2.c, gcc.dg/20020426-2.c,
gcc.dg/20030331-2.c, gcc.dg/20030612-1.c, gcc.dg/20030926-1.c,
gcc.dg/20031216-1.c, gcc.dg/20031218-3.c, gcc.dg/20040305-2.c,
gcc.dg/980226-1.c, gcc.dg/Wreturn-type2.c,
gcc.dg/Wunreachable-6.c, gcc.dg/Wunreachable-7.c,
gcc.dg/align-1.c, gcc.dg/builtin-prefetch-1.c,
gcc.dg/builtins-17.c, gcc.dg/builtins-19.c, gcc.dg/builtins-2.c,
gcc.dg/builtins-20.c, gcc.dg/builtins-21.c, gcc.dg/builtins-7.c,
gcc.dg/builtins-8.c, gcc.dg/cpp/19930510-1.c,
gcc.dg/cpp/charconst-3.c, gcc.dg/cpp/charconst-4.c,
gcc.dg/cpp/mi6.c, gcc.dg/cpp/tr-paste.c, gcc.dg/cpp/trad/mi6.c,
gcc.dg/cpp/trad/paste.c, gcc.dg/cpp/trad/strify.c,
gcc.dg/fastmath-1.c, gcc.dg/fshort-wchar.c, gcc.dg/i386-387-7.c,
gcc.dg/i386-387-8.c, gcc.dg/i386-asm-1.c, gcc.dg/i386-cadd.c,
gcc.dg/i386-fpcvt-3.c, gcc.dg/i386-loop-3.c,
gcc.dg/i386-memset-1.c, gcc.dg/loop-2.c, gcc.dg/nest.c,
gcc.dg/noncompile/971104-1.c, gcc.dg/noncompile/990416-1.c,
gcc.dg/noncompile/scope.c, gcc.dg/pack-test-4.c,
gcc.dg/pack-test-5.c, gcc.dg/pch/inline-4.c, gcc.dg/postincr-1.c,
gcc.dg/pr10392-1.c, gcc.dg/pragma-align.c,
gcc.dg/profile-generate-1.c, gcc.dg/sibcall-1.c,
gcc.dg/sibcall-2.c, gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c,
gcc.dg/sibcall-5.c, gcc.dg/sibcall-6.c, gcc.dg/switch-warn-1.c,
gcc.dg/switch-warn-2.c, gcc.dg/torture/builtin-attr-1.c,
gcc.dg/torture/builtin-math-1.c, gcc.dg/torture/builtin-noret-2.c,
gcc.dg/trampoline-1.c, gcc.dg/tree-ssa/20030703-1.c,
gcc.dg/tree-ssa/20030703-2.c, gcc.dg/tree-ssa/20030708-1.c,
gcc.dg/tree-ssa/20030709-3.c, gcc.dg/tree-ssa/20030710-1.c,
gcc.dg/tree-ssa/20030711-1.c, gcc.dg/tree-ssa/20030729-1.c,
gcc.dg/tree-ssa/20030730-1.c, gcc.dg/tree-ssa/20030730-2.c,
gcc.dg/tree-ssa/20030731-1.c, gcc.dg/tree-ssa/20030807-11.c,
gcc.dg/tree-ssa/20030807-2.c, gcc.dg/tree-ssa/20030807-5.c,
gcc.dg/tree-ssa/20030807-7.c, gcc.dg/tree-ssa/20030808-1.c,
gcc.dg/tree-ssa/20030814-1.c, gcc.dg/tree-ssa/20030814-2.c,
gcc.dg/tree-ssa/20030814-3.c, gcc.dg/tree-ssa/20030814-4.c,
gcc.dg/tree-ssa/20030814-5.c, gcc.dg/tree-ssa/20030814-6.c,
gcc.dg/tree-ssa/20030814-7.c, gcc.dg/tree-ssa/20030815-1.c,
gcc.dg/tree-ssa/20030907-1.c, gcc.dg/tree-ssa/20030917-3.c,
gcc.dg/tree-ssa/20030922-1.c, gcc.dg/tree-ssa/20031113-1.c,
gcc.dg/tree-ssa/20040121-1.c, gcc.dg/tree-ssa/20040319-1.c,
gcc.dg/tree-ssa/20040324-1.c, gcc.dg/tree-ssa/20040326-1.c,
gcc.dg/tree-ssa/20040326-2.c, gcc.dg/tree-ssa/20040517-1.c,
gcc.dg/tree-ssa/ssa-ccp-10.c, gcc.dg/tree-ssa/ssa-pre-1.c,
gcc.dg/tree-ssa/tailcall-1.c, gcc.dg/tree-ssa/tailrecursion-5.c,
gcc.dg/ultrasp3.c, gcc.dg/winline-7.c, gcc.misc-tests/bprob-1.c,
gcc.misc-tests/bprob-2.c, gcc.misc-tests/gcov-3.c,
gcc.misc-tests/gcov-4.c, gcc.misc-tests/gcov-4b.c,
gcc.misc-tests/gcov-6.c, gcc.misc-tests/gcov-7.c,
gcc.misc-tests/i386-pf-3dnow-1.c,
gcc.misc-tests/i386-pf-athlon-1.c,
gcc.misc-tests/i386-pf-none-1.c, gcc.misc-tests/i386-pf-sse-1.c,
objc.dg/nested-func-1.m, objc.dg/special/unclaimed-category-1.m:
Declare built-in functions used.
* gcc.dg/torture/builtin-attr-1.c (nexttoward): Use FPTEST2ARG2.

From-SVN: r85465

122 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/20001023-1.c
gcc/testsuite/gcc.dg/20001108-1.c
gcc/testsuite/gcc.dg/20001117-1.c
gcc/testsuite/gcc.dg/20010202-1.c
gcc/testsuite/gcc.dg/20011008-2.c
gcc/testsuite/gcc.dg/20011214-1.c
gcc/testsuite/gcc.dg/20020201-1.c
gcc/testsuite/gcc.dg/20020312-2.c
gcc/testsuite/gcc.dg/20020426-2.c
gcc/testsuite/gcc.dg/20030331-2.c
gcc/testsuite/gcc.dg/20030612-1.c
gcc/testsuite/gcc.dg/20030926-1.c
gcc/testsuite/gcc.dg/20031216-1.c
gcc/testsuite/gcc.dg/20031218-3.c
gcc/testsuite/gcc.dg/20040305-2.c
gcc/testsuite/gcc.dg/980226-1.c
gcc/testsuite/gcc.dg/Wreturn-type2.c
gcc/testsuite/gcc.dg/Wunreachable-6.c
gcc/testsuite/gcc.dg/Wunreachable-7.c
gcc/testsuite/gcc.dg/align-1.c
gcc/testsuite/gcc.dg/builtin-prefetch-1.c
gcc/testsuite/gcc.dg/builtins-17.c
gcc/testsuite/gcc.dg/builtins-19.c
gcc/testsuite/gcc.dg/builtins-2.c
gcc/testsuite/gcc.dg/builtins-20.c
gcc/testsuite/gcc.dg/builtins-21.c
gcc/testsuite/gcc.dg/builtins-7.c
gcc/testsuite/gcc.dg/builtins-8.c
gcc/testsuite/gcc.dg/cpp/19930510-1.c
gcc/testsuite/gcc.dg/cpp/charconst-3.c
gcc/testsuite/gcc.dg/cpp/charconst-4.c
gcc/testsuite/gcc.dg/cpp/mi6.c
gcc/testsuite/gcc.dg/cpp/tr-paste.c
gcc/testsuite/gcc.dg/cpp/trad/mi6.c
gcc/testsuite/gcc.dg/cpp/trad/paste.c
gcc/testsuite/gcc.dg/cpp/trad/strify.c
gcc/testsuite/gcc.dg/fastmath-1.c
gcc/testsuite/gcc.dg/fshort-wchar.c
gcc/testsuite/gcc.dg/i386-387-7.c
gcc/testsuite/gcc.dg/i386-387-8.c
gcc/testsuite/gcc.dg/i386-asm-1.c
gcc/testsuite/gcc.dg/i386-cadd.c
gcc/testsuite/gcc.dg/i386-fpcvt-3.c
gcc/testsuite/gcc.dg/i386-loop-3.c
gcc/testsuite/gcc.dg/i386-memset-1.c
gcc/testsuite/gcc.dg/loop-2.c
gcc/testsuite/gcc.dg/nest.c
gcc/testsuite/gcc.dg/noncompile/971104-1.c
gcc/testsuite/gcc.dg/noncompile/990416-1.c
gcc/testsuite/gcc.dg/noncompile/scope.c
gcc/testsuite/gcc.dg/pack-test-4.c
gcc/testsuite/gcc.dg/pack-test-5.c
gcc/testsuite/gcc.dg/pch/inline-4.c
gcc/testsuite/gcc.dg/postincr-1.c
gcc/testsuite/gcc.dg/pr10392-1.c
gcc/testsuite/gcc.dg/pragma-align.c
gcc/testsuite/gcc.dg/profile-generate-1.c
gcc/testsuite/gcc.dg/sibcall-1.c
gcc/testsuite/gcc.dg/sibcall-2.c
gcc/testsuite/gcc.dg/sibcall-3.c
gcc/testsuite/gcc.dg/sibcall-4.c
gcc/testsuite/gcc.dg/sibcall-5.c
gcc/testsuite/gcc.dg/sibcall-6.c
gcc/testsuite/gcc.dg/switch-warn-1.c
gcc/testsuite/gcc.dg/switch-warn-2.c
gcc/testsuite/gcc.dg/torture/builtin-attr-1.c
gcc/testsuite/gcc.dg/torture/builtin-math-1.c
gcc/testsuite/gcc.dg/torture/builtin-noret-2.c
gcc/testsuite/gcc.dg/trampoline-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030703-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030703-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030708-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030709-3.c
gcc/testsuite/gcc.dg/tree-ssa/20030710-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030711-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030729-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030730-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030730-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030731-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-11.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-5.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-7.c
gcc/testsuite/gcc.dg/tree-ssa/20030808-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-3.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-4.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-5.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-6.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-7.c
gcc/testsuite/gcc.dg/tree-ssa/20030815-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030907-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030917-3.c
gcc/testsuite/gcc.dg/tree-ssa/20030922-1.c
gcc/testsuite/gcc.dg/tree-ssa/20031113-1.c
gcc/testsuite/gcc.dg/tree-ssa/20040121-1.c
gcc/testsuite/gcc.dg/tree-ssa/20040319-1.c
gcc/testsuite/gcc.dg/tree-ssa/20040324-1.c
gcc/testsuite/gcc.dg/tree-ssa/20040326-1.c
gcc/testsuite/gcc.dg/tree-ssa/20040326-2.c
gcc/testsuite/gcc.dg/tree-ssa/20040517-1.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-10.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-1.c
gcc/testsuite/gcc.dg/tree-ssa/tailcall-1.c
gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-5.c
gcc/testsuite/gcc.dg/ultrasp3.c
gcc/testsuite/gcc.dg/winline-7.c
gcc/testsuite/gcc.misc-tests/bprob-1.c
gcc/testsuite/gcc.misc-tests/bprob-2.c
gcc/testsuite/gcc.misc-tests/gcov-3.c
gcc/testsuite/gcc.misc-tests/gcov-4.c
gcc/testsuite/gcc.misc-tests/gcov-4b.c
gcc/testsuite/gcc.misc-tests/gcov-6.c
gcc/testsuite/gcc.misc-tests/gcov-7.c
gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c
gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c
gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c
gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c
gcc/testsuite/objc.dg/nested-func-1.m
gcc/testsuite/objc.dg/special/unclaimed-category-1.m

index 4ae35e2c75de0eda4ca13c730ed9f10be1f6a2de..2ed388d8762207eaf74af1516cb0520e9d31cdc5 100644 (file)
@@ -1,3 +1,62 @@
+2004-08-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * gcc.dg/20001023-1.c, gcc.dg/20001108-1.c, gcc.dg/20001117-1.c,
+       gcc.dg/20010202-1.c, gcc.dg/20011008-2.c, gcc.dg/20011214-1.c,
+       gcc.dg/20020201-1.c, gcc.dg/20020312-2.c, gcc.dg/20020426-2.c,
+       gcc.dg/20030331-2.c, gcc.dg/20030612-1.c, gcc.dg/20030926-1.c,
+       gcc.dg/20031216-1.c, gcc.dg/20031218-3.c, gcc.dg/20040305-2.c,
+       gcc.dg/980226-1.c, gcc.dg/Wreturn-type2.c,
+       gcc.dg/Wunreachable-6.c, gcc.dg/Wunreachable-7.c,
+       gcc.dg/align-1.c, gcc.dg/builtin-prefetch-1.c,
+       gcc.dg/builtins-17.c, gcc.dg/builtins-19.c, gcc.dg/builtins-2.c,
+       gcc.dg/builtins-20.c, gcc.dg/builtins-21.c, gcc.dg/builtins-7.c,
+       gcc.dg/builtins-8.c, gcc.dg/cpp/19930510-1.c,
+       gcc.dg/cpp/charconst-3.c, gcc.dg/cpp/charconst-4.c,
+       gcc.dg/cpp/mi6.c, gcc.dg/cpp/tr-paste.c, gcc.dg/cpp/trad/mi6.c,
+       gcc.dg/cpp/trad/paste.c, gcc.dg/cpp/trad/strify.c,
+       gcc.dg/fastmath-1.c, gcc.dg/fshort-wchar.c, gcc.dg/i386-387-7.c,
+       gcc.dg/i386-387-8.c, gcc.dg/i386-asm-1.c, gcc.dg/i386-cadd.c,
+       gcc.dg/i386-fpcvt-3.c, gcc.dg/i386-loop-3.c,
+       gcc.dg/i386-memset-1.c, gcc.dg/loop-2.c, gcc.dg/nest.c,
+       gcc.dg/noncompile/971104-1.c, gcc.dg/noncompile/990416-1.c,
+       gcc.dg/noncompile/scope.c, gcc.dg/pack-test-4.c,
+       gcc.dg/pack-test-5.c, gcc.dg/pch/inline-4.c, gcc.dg/postincr-1.c,
+       gcc.dg/pr10392-1.c, gcc.dg/pragma-align.c,
+       gcc.dg/profile-generate-1.c, gcc.dg/sibcall-1.c,
+       gcc.dg/sibcall-2.c, gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c,
+       gcc.dg/sibcall-5.c, gcc.dg/sibcall-6.c, gcc.dg/switch-warn-1.c,
+       gcc.dg/switch-warn-2.c, gcc.dg/torture/builtin-attr-1.c,
+       gcc.dg/torture/builtin-math-1.c, gcc.dg/torture/builtin-noret-2.c,
+       gcc.dg/trampoline-1.c, gcc.dg/tree-ssa/20030703-1.c,
+       gcc.dg/tree-ssa/20030703-2.c, gcc.dg/tree-ssa/20030708-1.c,
+       gcc.dg/tree-ssa/20030709-3.c, gcc.dg/tree-ssa/20030710-1.c,
+       gcc.dg/tree-ssa/20030711-1.c, gcc.dg/tree-ssa/20030729-1.c,
+       gcc.dg/tree-ssa/20030730-1.c, gcc.dg/tree-ssa/20030730-2.c,
+       gcc.dg/tree-ssa/20030731-1.c, gcc.dg/tree-ssa/20030807-11.c,
+       gcc.dg/tree-ssa/20030807-2.c, gcc.dg/tree-ssa/20030807-5.c,
+       gcc.dg/tree-ssa/20030807-7.c, gcc.dg/tree-ssa/20030808-1.c,
+       gcc.dg/tree-ssa/20030814-1.c, gcc.dg/tree-ssa/20030814-2.c,
+       gcc.dg/tree-ssa/20030814-3.c, gcc.dg/tree-ssa/20030814-4.c,
+       gcc.dg/tree-ssa/20030814-5.c, gcc.dg/tree-ssa/20030814-6.c,
+       gcc.dg/tree-ssa/20030814-7.c, gcc.dg/tree-ssa/20030815-1.c,
+       gcc.dg/tree-ssa/20030907-1.c, gcc.dg/tree-ssa/20030917-3.c,
+       gcc.dg/tree-ssa/20030922-1.c, gcc.dg/tree-ssa/20031113-1.c,
+       gcc.dg/tree-ssa/20040121-1.c, gcc.dg/tree-ssa/20040319-1.c,
+       gcc.dg/tree-ssa/20040324-1.c, gcc.dg/tree-ssa/20040326-1.c,
+       gcc.dg/tree-ssa/20040326-2.c, gcc.dg/tree-ssa/20040517-1.c,
+       gcc.dg/tree-ssa/ssa-ccp-10.c, gcc.dg/tree-ssa/ssa-pre-1.c,
+       gcc.dg/tree-ssa/tailcall-1.c, gcc.dg/tree-ssa/tailrecursion-5.c,
+       gcc.dg/ultrasp3.c, gcc.dg/winline-7.c, gcc.misc-tests/bprob-1.c,
+       gcc.misc-tests/bprob-2.c, gcc.misc-tests/gcov-3.c,
+       gcc.misc-tests/gcov-4.c, gcc.misc-tests/gcov-4b.c,
+       gcc.misc-tests/gcov-6.c, gcc.misc-tests/gcov-7.c,
+       gcc.misc-tests/i386-pf-3dnow-1.c,
+       gcc.misc-tests/i386-pf-athlon-1.c,
+       gcc.misc-tests/i386-pf-none-1.c, gcc.misc-tests/i386-pf-sse-1.c,
+       objc.dg/nested-func-1.m, objc.dg/special/unclaimed-category-1.m:
+       Declare built-in functions used.
+       * gcc.dg/torture/builtin-attr-1.c (nexttoward): Use FPTEST2ARG2.
+
 2004-08-02  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/16707
index ce5e532ea6cb1ded9b505e19266f0a884acab412..10cb27259396eaf7600eec7e71727bec43639ab3 100644 (file)
@@ -1,6 +1,9 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -fomit-frame-pointer" } */
 
+extern void abort (void);
+extern void exit (int);
+
 unsigned char a[256], b[256], c[256], d[256];
 
 void foo(unsigned char *x, int y, unsigned char *z)
index a21d5b0f98f292064cf2c69a5486ec1df96e2dd9..682257fdb0951c90096aa9db32939b032f7f1168 100644 (file)
@@ -1,6 +1,9 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -fomit-frame-pointer" } */
 
+extern void abort (void);
+extern void exit (int);
+
 void die (long) __attribute__ ((noreturn));
 
 void die (long e)
index a16a62c38c78a9a1e0c95da24f3bb438edb208c6..8eb7f58b6bfef5c649fffd430d1d5d913c8705ca 100644 (file)
@@ -1,6 +1,9 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -finstrument-functions" } */
 
+extern void abort (void);
+extern void exit (int);
+
 double
 foo (double a, double b)
 {
index e4eaae0b246de5c419b4346ce51659feacaf7ad8..f600373b8a3f90e94745509dca191000a92ac5de 100644 (file)
@@ -1,6 +1,9 @@
 /* { dg-do compile { target i?86-*-* sparc*-*-* } } */
 /* { dg-options "-O2" } */
 
+extern void abort (void);
+extern void exit (int);
+
 typedef enum { false, true } __attribute__ ((packed)) boolean;
 typedef struct {
   enum {
index 5937bcb0e82d4d7bff6590d133cafff5b905b7af..01ff172b4ff03023d3fd1205ac6e9e34ee2681fa 100644 (file)
@@ -1,6 +1,9 @@
 /* { dg-do run } */
 /* { dg-options "-O0" } */
 
+extern void abort (void);
+extern void exit (int);
+
 struct { union {int x; int y;}; int q; } b;
 union { struct {int x;}; int q; } e;
 
index 9dea9048c5ad68dfe71c91c8e9d820f267f3876a..dd05798fabfe641775c92dd4abef3b791ec9d9a4 100644 (file)
@@ -1,5 +1,8 @@
 /* { dg-do run } */
 
+extern void abort (void);
+extern void exit (int);
+
 #define small   __attribute__((mode(QI))) int
 int main()
 {
index 11326378a0a97b7145f705fb320a5966860eaa91..d187a66fb00767a4ba64e89b0482235c14bf355e 100644 (file)
@@ -7,6 +7,9 @@
 /* { dg-options "-fprofile-arcs" } */
 /* { dg-do run { target native } } */
 
+extern void abort (void);
+extern void exit (int);
+
 int rand (void);
 void srand (unsigned int seed);
 
index 6e59cd6cf6ffe60220477a4e43666f355f55b75f..322c1d04898133d1548b298c2976f4734b96f2c1 100644 (file)
@@ -8,6 +8,8 @@
 /* { dg-do run } */
 /* { dg-options "-O -fno-pic" } */
 
+extern void abort (void);
+
 #if defined(__alpha__)
 /* PIC register is $29, but is used even without -fpic.  */
 #elif defined(__arc__)
index 56a478f0f7d78fee8ee8cd7cd50c13820eb8120d..e38214cd9cf169758da5caa702d9f24ccce2bbe6 100644 (file)
@@ -4,6 +4,8 @@
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -frename-registers -fomit-frame-pointer -fPIC -mtune=i686" { target i?86-*-* } } */
 
+extern void exit (int);
+
 typedef struct
 {
   union
index 210524da456f67c79c180a8ee6f6bbbc016f4a59..0509d8aad879f7399bc3fac55dbb6407bbd1d020 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-options "" }
 
+extern int printf (const char *, ...);
+
 int foo() {
   int yd;
   float in[1][yd];
index 2c4a8d3e7e05705db837228a0a4b59682c864b5c..f0875124385c0d0e1e70761dc5493608fa80ce3e 100644 (file)
@@ -1,6 +1,8 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 
+extern void abort (void);
+
 int A, B;
 
 void foo()
index 39833a65171245f95277d5db9927cbac1647b848..806dea7616564f84cbe01f04807a2e90121ccb83 100644 (file)
@@ -3,6 +3,9 @@
 /* { dg-options "-O2 -minline-all-stringops" } */
 /* { dg-options "-O2 -minline-all-stringops -march=pentium4" { target i?86-*-* } } */
 
+extern void *memcpy (void *, const void *, __SIZE_TYPE__);
+extern __SIZE_TYPE__ strlen (const char *);
+
 void
 foo (char *p)
 {
index d8ee0703d7f6d328dd130572a7f2ca5b46c214f1..7c706d86bea1db7eb5bab4d30618482ef7eb5532 100644 (file)
@@ -4,6 +4,8 @@
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -fPIC" { target s390*-*-* } } */
 
+extern void abort (void);
+
 int count = 0;
 char *str;
 
index 58878b61f066f9389435195244e0b5024eb22750..0bae456b8e76ad00fdc90b379a940efb029f0604 100644 (file)
@@ -5,6 +5,8 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -g" } */
 
+extern __SIZE_TYPE__ strlen (const char *);
+
 int x (char *s)
 {
   int y () { return (strlen (s)); }
index b0423a25495d0c776c7d58bc92be5e91b5c4c39b..ffaf353e371de13b5a86494e231800e72ac57928 100644 (file)
@@ -1,6 +1,8 @@
 /* PR target/14262 */
 /* { dg-do run } */
 
+extern void abort (void);
+
 typedef char   ACS;
 typedef char   LSM;
 typedef char   PANEL;
index f66e9e2a9f7c2d8f2334a73523e5b0e19dcbad71..f9d915f22d43c966e7fa34c196f87a43632a3cbb 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target i?86-*-* } } */
 /* { dg-options -O2 } */
 
+extern int printf (const char *, ...);
 extern double bar (double);
 
 int
index d57a91465175f7cb5a66cf2b7f2292d4d8ba12e0..781414a1ae0767520cf3abd1f0bbff00a9d15804 100644 (file)
@@ -2,6 +2,8 @@
    missing return.  */
 /* { dg-do compile } */
 
+extern void abort (void);
+
 f() {}                         /* { dg-bogus "" "no return warning" } */
 int g() { abort (); }          /* { dg-bogus "" "no return warning" } */
 int main() {}                  /* { dg-bogus "" "no return warning" } */
index 77b6228fc862cd1699ea4ed13bb3d1fdf0d1364f..6aac7aab205d201ae99c9da3d65545c366bea85e 100644 (file)
@@ -2,6 +2,9 @@
 /* { dg-do compile } */
 /* { dg-options "-Wunreachable-code" } */
 
+extern int printf (const char *, ...);
+extern void exit (int);
+
 int main(int argc, char *argv[])
 {
   if (argc != 1)
index a19c94a176092972aa01fce79b98b278d9108bde..9a4d411be22c96d5f36ca267f35af0dc46f1ca60 100644 (file)
@@ -2,6 +2,9 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -Wunreachable-code" } */
 
+extern int printf (const char *, ...);
+extern void exit (int);
+
 int main(int argc, char *argv[])
 {
   if (argc != 1)
index 302d7d777a1f7bf1ac022f6f3ab88171649054bc..187eb5271d28bb50ad3273b15131b4e7b5630b3c 100644 (file)
@@ -6,6 +6,8 @@
    { dg-options "" }
 */
 
+extern void abort (void);
+
 struct A
 {
   char c;
index d547cfcd9e2b82044dbc0c82608ef08d12308b10..4e30275fde5c94da7100d3fb4d8f165da6108500 100644 (file)
@@ -5,6 +5,8 @@
 
 /* { dg-do run } */
 
+extern void exit (int);
+
 enum locality { none, low, moderate, high, bogus };
 enum rw { read, write };
 
index f33512cb9168b9370d4dea66475619357e5ee2c3..a9e21fba8a31f0e9b7ae94f42c9f5035b7d12b86 100644 (file)
@@ -11,7 +11,7 @@
 extern void link_error(void);
 
 extern double exp(double);
-
+extern double atan(double);
 
 int main()
 {
index a691f5eb97ddad0b96e763d6896dcd82c566b3ae..f0583a9783b7f145bbda4ea00984cf8938a3b9e9 100644 (file)
@@ -10,6 +10,9 @@
 double cabs (__complex__ double);
 float cabsf (__complex__ float);
 long double cabsl (__complex__ long double);
+double fabs (double);
+float fabsf (float);
+long double fabsl (long double);
 
 void link_error (void);
 
index e3d652259b642cbef2f9ab60914d2fa1be28fe9b..b1f31c84aa5791f1e6be616d7ac42b76d72babb9 100644 (file)
@@ -8,6 +8,28 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -ffast-math" } */
 
+extern double atan (double);
+extern float atanf (float);
+extern long double atanl (long double);
+extern double exp (double);
+extern float expf (float);
+extern long double expl (long double);
+extern double fabs (double);
+extern float fabsf (float);
+extern long double fabsl (long double);
+extern double log (double);
+extern float logf (float);
+extern long double logl (long double);
+extern double pow (double, double);
+extern float powf (float, float);
+extern long double powl (long double, long double);
+extern double sqrt (double);
+extern float sqrtf (float);
+extern long double sqrtl (long double);
+extern double tan (double);
+extern float tanf (float);
+extern long double tanl (long double);
+
 double test1(double x)
 {
   return log(exp(x));
index 1bd95344ae9c0a4ec21a65cf01b8b7fb12218b24..fb7dd95c84b970167fc05d6b73f2c901c13b7bda 100644 (file)
 
 #include "builtins-config.h"
 
+extern double cos (double);
+extern double sin (double);
+extern double tan (double);
+extern float cosf (float);
+extern float sinf (float);
+extern float tanf (float);
+extern long double cosl (long double);
+extern long double sinl (long double);
+extern long double tanl (long double);
+
 extern void link_error(void);
 
 void test1(double x)
index 38d0c4f3114675589033c70b5ba8a992b82e90fe..60b127fe61bfee2e9d7f4b1c7951144789cf4553 100644 (file)
@@ -8,6 +8,16 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -ffast-math" } */
 
+extern double fabs (double);
+extern float fabsf (float);
+extern long double fabsl (long double);
+extern double sqrt (double);
+extern float sqrtf (float);
+extern long double sqrtl (long double);
+extern double exp (double);
+extern float expf (float);
+extern long double expl (long double);
+
 double test1(double x)
 {
   return fabs(x*x);
index 87995a4d3a0da8ff76a93778cfedebe775a88540..13e708e299742c34a6ab12ce0cdda33ec3eb708e 100644 (file)
@@ -8,6 +8,16 @@
 /* { dg-do link } */
 /* { dg-options "-O2 -ffast-math" } */
 
+extern double pow (double, double);
+extern float powf (float, float);
+extern long double powl (long double, long double);
+extern double tan (double);
+extern float tanf (float);
+extern long double tanl (long double);
+extern double atan (double);
+extern float atanf (float);
+extern long double atanl (long double);
+
 extern void link_error(void);
 
 void test(double x)
index 99d1a70d01a2e99fba8f369bc318b6d42e352f56..c3066b41cabb14493b4443833dfac64d8184cd88 100644 (file)
@@ -9,6 +9,8 @@
 /* { dg-options "-O2 -ffast-math" } */
 
 extern void abort(void);
+extern double pow(double, double);
+extern double sqrt(double);
 
 void test(double x)
 {
index 724640a85f73019696f0f8b3e32162a046421a4d..62c1206745a2f4492d8ac26be06be114649f0ce1 100644 (file)
@@ -1,5 +1,7 @@
 /* { dg-do compile } */
 
+extern void exit (int);
+
 #define ugly 3
 #ugly "foobar" 3       /* { dg-error "invalid" "invalid directive" } */
 int main() { exit (0); }
index 9d7d2399812d21814771dd2600fd5e92be5ad3ee..7c1966391315b9b7d64f3adf59df4f2c47d6d599 100644 (file)
@@ -9,6 +9,8 @@
 
 #include <limits.h>
 
+extern void abort (void);
+
 int main ()
 {
   /* These tests require at least 2-byte ints.  8-)  */
index 986ea80f57ede04020c0a7e2c77985d71afc4a9f..aae33d35eef7004ea5761d697b4b859de870fcd6 100644 (file)
@@ -13,6 +13,8 @@
 
 #include <limits.h>
 
+extern void abort (void);
+
 #if INT_MAX == 32767
 # define LONG_CHARCONST '!\234a'
 # define SHORT_CHARCONST '\234a'
index aa1c8ed2ec5974d3b9463b8ca5cd8d58c17cd237..c3af2d3f237106632f2aa4c3ed251314cdfa95f6 100644 (file)
@@ -5,6 +5,8 @@
 /* { dg-do compile } */
 /* { dg-options "" } */
 
+extern void abort (void);
+
 /* Each include file should not be subject to MI optimisation, since
    macro definitions can change.  Each header increments the variable
    VAR if it is defined.
index e884e83c8d50d8e5a45bc59d2e41ab4bdeb21652..1dd82766317946f76028ae4b1008d8bbf8f4fa82 100644 (file)
@@ -5,6 +5,8 @@
 /* { dg-do compile } */
 /* { dg-options "-traditional-cpp" } */
 
+extern int printf (const char *, ...);
+
 #define A(name) X/**/name
 
 #define B(name) \
index aa1c8ed2ec5974d3b9463b8ca5cd8d58c17cd237..c3af2d3f237106632f2aa4c3ed251314cdfa95f6 100644 (file)
@@ -5,6 +5,8 @@
 /* { dg-do compile } */
 /* { dg-options "" } */
 
+extern void abort (void);
+
 /* Each include file should not be subject to MI optimisation, since
    macro definitions can change.  Each header increments the variable
    VAR if it is defined.
index 9f1c0db3291f50f34668994fdc5b6ec1d65a25c7..9b83fd30f4ea5b2a2f1ed0f4100babe8f1479017 100644 (file)
@@ -4,6 +4,8 @@
 
 /* { dg-do compile } */
 
+extern int printf (const char *, ...);
+
 #define A(name) X/**/name
 
 #define B(name) \
index 500ef1ea32f227d17275193311d9bfcccbdf1854..d97a439709c52c9c6e43fb49b1619917c283a219 100644 (file)
@@ -4,6 +4,7 @@
 #define foo(a, b) c="a"; d="b";
 
 extern void abort ();
+extern void exit (int);
 
 int main ()
 {
index 1194a6f7d4230ab72843f1ab52381584668a4fbd..4efe43004678c6d9d89544579f961e8d145c3e15 100644 (file)
@@ -1,6 +1,8 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -ffast-math" } */
 
+extern void abort (void);
+
 int foo ( float* dists,  int k) 
 { 
 if ( ( dists [ 0 ] > 0 ) == ( dists [ 1 ] > 0 ) ) 
index 074e872358bb2161fbe4816c9b64590b845394c7..9f4946307f0cbf1d8e20b3d0702c6c00dba5572c 100644 (file)
@@ -7,6 +7,8 @@
 
    Test that __WCHAR_MAX__ is correct with -fshort-wchar.  */
 
+extern void abort (void);
+
 int main ()
 {
   __WCHAR_TYPE__ w = ~(__WCHAR_TYPE__) 0;
index 43c916c61d058b7cf30a5865cdc32f36557827ce..210917ad415acec080b5480b6ce5cfdb130f42f9 100644 (file)
@@ -3,6 +3,9 @@
 /* { dg-options "-O -ffast-math -march=i686" } */
 /* { dg-final { scan-assembler "fsincos" } } */
 
+extern double sin (double);
+extern double cos (double);
+
 double f1(double x)
 {
   return sin(x) + cos (x);
index 05787160b005008471fa67fdcfe73db669c5c8b6..67c16d92c184c7f9874faaa48cb75a6248132155 100644 (file)
@@ -5,6 +5,8 @@
 /* { dg-final { scan-assembler "fptan" } } */
 /* { dg-final { scan-assembler-not "fld1" } } */
 
+extern double tan (double);
+
 double f1(double x)
 {
   return 1.0 / tan(x);
index bf7aa1d0c4b55bcdf7c13ed121d20001a0a87019..826f5b6dbe39d00f4a5e48eb3c84b4aa97856b81 100644 (file)
@@ -2,6 +2,7 @@
 /* { dg-do run { target i?86-*-* } } */
 /* { dg-options "-O2" } */
 
+extern void abort (void);
 static int bar(int x) __asm__("bar") __attribute__((regparm(1)));
 static int __attribute__((regparm(1), noinline, used))
 bar(int x)
index ef6c16bee78244c600c63408fe6cb01f64ea6267..2c6360b946b3d602c4a47ea6f911d4c0c2715928 100644 (file)
@@ -2,6 +2,8 @@
 /* { dg-options "-O2 -march=k8" } */
 /* { dg-final { scan-assembler "sbb" } } */
 
+extern void abort (void);
+
 /* Conditional increment is best done using sbb $-1, val.  */
 int t[]={0,0,0,0,1,1,1,1,1,1};
 q()
index 69d7e3d2cd6544bdbda63a2986e43906714ebf61..f47cd70ed9abc929b1b78e1027a039e26d358da8 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O2 -msse2 -march=k8" } */
 /* { dg-final { scan-assembler-not "cvtss2sd" } } */
+extern double fabs (double);
 float a,b;
 main()
 {
index c1b4bcea5be49bd5a29bcca5752ed60b41b02392..59ed5bf589f73a3f3c75d77855290a87662493e6 100644 (file)
@@ -4,6 +4,9 @@
 /* { dg-do run { target i?86-*-* } } */
 /* { dg-options "-mtune=k6 -O3 -ffast-math -funroll-loops" } */
 
+extern void *memset (void *, int, __SIZE_TYPE__);
+extern void abort (void);
+
 typedef struct
 {
         unsigned char colormod;
index f450dd7287ef81de7cd414a54e0035eb361aa66f..b87a05b8df77cff0b767917ee74f86c2a8236174 100644 (file)
 /* { dg-do run { target "i?86-*-*" } } */
 /* { dg-options "-O2 -minline-all-stringops" } */
 
+extern void *memset (void *, int, __SIZE_TYPE__);
+extern void abort (void);
+extern void exit (int);
+
 #ifndef MAX_OFFSET
 #define MAX_OFFSET (sizeof (long long))
 #endif
index 8acc65d116f0d12115834c1df5e1573e5146c90b..fa96f89278cf4182fe2d8287b7e946e2217e0b5c 100644 (file)
@@ -3,6 +3,9 @@
    0 iterations of the loop rather than the correct 1.  */
 /* { dg-do run } */
 
+extern void abort (void);
+extern void exit (int);
+
 __inline__ int tag() { return 0; }
 
 void f ();
index 264dde26f05f81543d0f0eb108c04352f3ec696c..981baece34e1bad3cad0ffb6fd0c3407f6a097bd 100644 (file)
@@ -6,6 +6,8 @@
 /* { dg-error "profiler" "No profiler support" { target xstormy16-*-* } 0 } */
 /* { dg-error "-pg not supported" "Profiler support missing" { target *-*-sco3.2v5* } 0 } */
 
+extern void abort (void);
+
 long foo (long x)
 {
   long i, sum = 0;
index ed7cb523c3b285cd67a6bfb750295db32ec631e4..54337b209c932282c1d9d1dcc9ec5985665cb170 100644 (file)
@@ -1,3 +1,4 @@
+extern int printf(const char *, ...);
 typedef unsigned short          ushort;
 struct sembuf {
   ushort  sem_num;         
index 6b69ead2fe165e80f07e7dbc6fa4822be32ff125..72aa3cd131c6ef107b155c43e5c99db50831a273 100644 (file)
@@ -1,3 +1,4 @@
+extern void *memcpy (void *, const void *, __SIZE_TYPE__);
 typedef int word_type;
    
 static void
index 0bfc3f284dbc9fab2a105466c114bd42098c679b..7f09c27cffd840286503b695658ed1f4c9f976e9 100644 (file)
@@ -1,3 +1,5 @@
+extern void abort (void);
+extern void exit (int);
 static int v = 3;
 
 f ()
index 27ae0cdcc77e5665c05d6662cfc41c21c6466955..60da6a07751f39ef18d00c7e7f20346a679f3722 100644 (file)
@@ -3,6 +3,8 @@
    { dg-options "" }
    { dg-do run } */
 
+extern void abort (void);
+
 typedef unsigned char uint8_t;
 
 typedef struct {
index e95030c089ea5a4b977fd87a333f8d986878b5d5..7645043dd84f1ea62b9b5cd4005c9a0bec911ae4 100644 (file)
@@ -2,6 +2,8 @@
    of a field.  */
 /* { dg-do run } */
 
+extern void abort (void);
+
 struct A {
   double d;
 } __attribute__ ((aligned));
index e4db473f3cf4f866f5d820895c2d99a3f39217e6..60e35aa6266f04543cbc81dfe5cb7ff1291f8c7e 100644 (file)
@@ -1,4 +1,5 @@
 #include "inline-4.h"
+extern int printf (const char *, ...);
 int main(void) {
   printf (getstring());
   return 0;
index 6aa203cb2ea982cd7bddd114c5051107471265e0..752cda40c2236010360debae4e2249737987d6b0 100644 (file)
@@ -1,6 +1,8 @@
 /* Simple test for proper postincrement semantics.  */
 /* { dg-do run } */
 
+extern void abort (void);
+
 int i;
 int c;
 int *f ()
index c71ec4d34b2b30d4c00d6969d8009c32d33318c7..8d599b8af74baae1d602d1ed9d26f0f9a36b4345 100644 (file)
@@ -13,6 +13,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -m4" { target sh4-*-* } } */
+extern void abort (void);
 const char *dont_optimize_function_away;
 
 const char *use(const char *str)
index 5341870b6cbcb6a8cd4977ad90970ab1ec3b8292..738693270349ad3b01c95933cc8ac22984721bd6 100644 (file)
@@ -2,6 +2,8 @@
 
 /* { dg-do run { target i?86-*-linux* i?86-*-*bsd* i?86-*-sco3.2v5* *-*-solaris2.* } } */
 
+extern void abort (void);
+
 struct {
         char one;
         long two;
index 64ebb0e3a5ea471502b963dc246902e83d39d6bf..9c73e6c63e7559335dd8120b4adcf9f54f0dc51b 100644 (file)
@@ -1,6 +1,8 @@
 /* Bug 16325.  */
 /* { dg-options "-O -fprofile-generate" } */
 
+extern void abort (void);
+
 int *p1;
 int *p2;
 int *p3;
index f9b1f7899b4d7ef63d910c1f6a5c84ac39d907c6..4521ace9e15b17e991a26e55d5a129a20e814054 100644 (file)
@@ -11,6 +11,9 @@
    marker.  Self-recursion tail calls are optimized for all targets,
    regardless of presence of sibcall patterns.  */
 
+extern void abort (void);
+extern void exit (int);
+
 extern void recurser_void (int);
 extern void track (int);
 
index cb2d1d599c69ae7a65f02e865b4d069360f2d268..4c226c496e358f25c8f85a0cb1bdceb298a2212b 100644 (file)
@@ -11,6 +11,9 @@
    marker.  Self-recursion tail calls are optimized for all targets,
    regardless of presence of sibcall patterns.  */
 
+extern void abort (void);
+extern void exit (int);
+
 extern void recurser_void (void);
 extern void track (void);
 
index 37637e70270e27c6290676ed7babb74fafd2b285..86bc8da38e588623ef278e05589aba59e5932f37 100644 (file)
@@ -13,6 +13,9 @@
    (except targets where the test does not work due to the return address
    not saved on the regular stack).  */
 
+extern void abort (void);
+extern void exit (int);
+
 static void recurser_void1 (int);
 static void recurser_void2 (int);
 extern void track (int);
index 15d235c471fe973033c6321689090c0a3ae432ea..bbb03735490239ebf2feed1e871f55d3193a3178 100644 (file)
@@ -13,6 +13,9 @@
    (except targets where the test does not work due to the return address
    not saved on the regular stack).  */
 
+extern void abort (void);
+extern void exit (int);
+
 static void recurser_void1 (void);
 static void recurser_void2 (void);
 extern void track (void);
index 424908dba5a3d1c881ebb8ccd34450edd506f3ed..da95f13e25c4e9501bdbc84b398f3803ccf42a6f 100644 (file)
@@ -2,6 +2,8 @@
 /* { dg-do run { target i?86-*-* } } */
 /* { dg-options "-O2" } */
 
+extern void abort (void);
+
 int (*f)(int, int) __attribute__((regparm(2)));
 int (*g)(int, int, int) __attribute__((regparm(3)));
 
index 4b0d299f5b784f5060471812c7fb3a658ce68536..bb855108ee172ac0fc6df9833672f86331eef1d1 100644 (file)
@@ -9,6 +9,9 @@
 /* { dg-do run { target i?86-*-* s390*-*-* x86_64-*-*} } */
 /* { dg-options "-O2 -foptimize-sibling-calls" } */
 
+extern void abort (void);
+extern void exit (int);
+
 int foo (int);
 int bar (int);
 
index d98bfa892d6a3dfe95c1735ad329b4d302ab602c..04ca4e36765493dc3cf88699f18009e491669fc6 100644 (file)
@@ -1,6 +1,9 @@
 /* { dg-do run } */
 /* { dg-options "-O0" } */
 
+extern void abort (void);
+extern void exit (int);
+
 /* Check that out-of-bounds case warnings work in the case that the
    testing expression is promoted.  */
 int
index ab742669163f941524bc8912985238fe37327e75..7778b66e087c4030ecd897dbd41c1301811b9502 100644 (file)
@@ -2,6 +2,9 @@
 /* { dg-do run } */
 /* { dg-options "-O0" } */
 
+extern void abort (void);
+extern void exit (int);
+
 int
 foo (unsigned int i)
 {
index 304e92afa8f78f81b896e77c3a6fbed6238c3fd0..62070c4e71cefd3b453996a1a599087bd0afc5b3 100644 (file)
@@ -26,9 +26,10 @@ void test_builtin_##FN(TYPE x, TYPE y) \
 { if (__builtin_##FN(x,y) != __builtin_##FN(x,y)) link_failure_builtin_##FN(); }
 
 /* Also test the regular (non-__builtin_) function.  */
-#define TEST1(FN, TYPE) \
+#define TEST1(FN, TYPE, RTYPE) \
 BUILTIN_TEST1(FN, TYPE) \
 extern void link_failure_##FN(void); \
+extern RTYPE FN(TYPE); \
 void test_##FN(TYPE x) { if (FN(x) != FN(x)) link_failure_##FN(); }
 
 /* Test the __builtin_ functions taking void arguments (with the "f"
@@ -153,12 +154,32 @@ void test_builtin_##FN##l(_Complex long double ld1, _Complex long double ld2) \
 /* These macros additionally test the non-__builtin_ functions.  */
 
 /* Test the functions taking one FP argument (with the "f" and "l"
-   variants).  */
+   variants) and returning that type.  */
 #define FPTEST1(FN) \
 BUILTIN_FPTEST1(FN) \
 extern void link_failure_##FN(void); \
 extern void link_failure_##FN##f(void); \
 extern void link_failure_##FN##l(void); \
+extern double FN(double); \
+extern float FN##f(float); \
+extern long double FN##l(long double); \
+void test_##FN(double d) \
+{ if (FN(d) != FN(d)) link_failure_##FN(); } \
+void test_##FN##f(float f) \
+{ if (FN##f(f) != FN##f(f)) link_failure_##FN##f(); } \
+void test_##FN##l(long double ld) \
+{ if (FN##l(ld) != FN##l(ld)) link_failure_##FN##l(); }
+
+/* Test the functions taking one FP argument (with the "f" and "l"
+   variants) and returning TYPE.  */
+#define FPTEST1T(FN, TYPE) \
+BUILTIN_FPTEST1(FN) \
+extern void link_failure_##FN(void); \
+extern void link_failure_##FN##f(void); \
+extern void link_failure_##FN##l(void); \
+extern TYPE FN(double); \
+extern TYPE FN##f(float); \
+extern TYPE FN##l(long double); \
 void test_##FN(double d) \
 { if (FN(d) != FN(d)) link_failure_##FN(); } \
 void test_##FN##f(float f) \
@@ -173,6 +194,9 @@ BUILTIN_FPTEST2(FN) \
 extern void link_failure_##FN(void); \
 extern void link_failure_##FN##f(void); \
 extern void link_failure_##FN##l(void); \
+extern double FN(double, double); \
+extern float FN##f(float, float); \
+extern long double FN##l(long double, long double); \
 void test_##FN(double d1, double d2) \
 { if (FN(d1,d2) != FN(d1,d2)) link_failure_##FN(); } \
 void test_##FN##f(float f1, float f2) \
@@ -188,6 +212,9 @@ BUILTIN_FPTEST2ARG1(FN, TYPE) \
 extern void link_failure_##FN(void); \
 extern void link_failure_##FN##f(void); \
 extern void link_failure_##FN##l(void); \
+extern double FN(TYPE, double); \
+extern float FN##f(TYPE, float); \
+extern long double FN##l(TYPE, long double); \
 void test_##FN(TYPE x, double d) \
 { if (FN(x,d) != FN(x,d)) link_failure_##FN(); } \
 void test_##FN##f(TYPE x, float f) \
@@ -203,6 +230,9 @@ BUILTIN_FPTEST2ARG2(FN, TYPE) \
 extern void link_failure_##FN(void); \
 extern void link_failure_##FN##f(void); \
 extern void link_failure_##FN##l(void); \
+extern double FN(double, TYPE); \
+extern float FN##f(float, TYPE); \
+extern long double FN##l(long double, TYPE); \
 void test_##FN(double d, TYPE x) \
 { if (FN(d,x) != FN(d,x)) link_failure_##FN(); } \
 void test_##FN##f(float f, TYPE x) \
@@ -217,6 +247,9 @@ BUILTIN_FPTEST3(FN) \
 extern void link_failure_##FN(void); \
 extern void link_failure_##FN##f(void); \
 extern void link_failure_##FN##l(void); \
+extern double FN(double, double, double); \
+extern float FN##f(float, float, float); \
+extern long double FN##l(long double, long double, long double); \
 void test_##FN(double d1, double d2, double d3) \
 { if (FN(d1,d2,d3) != FN(d1,d2,d3)) link_failure_##FN(); } \
 void test_##FN##f(float f1, float f2, float f3) \
@@ -225,12 +258,32 @@ void test_##FN##l(long double ld1, long double ld2, long double ld3) \
 { if (FN##l(ld1,ld2,ld3) != FN##l(ld1,ld2,ld3)) link_failure_##FN##l(); }
 
 /* Test the functions taking one complex argument (with the "f" and
-   "l" variants).  */
+   "l" variants) and returning that type.  */
 #define CPTEST1(FN) \
 BUILTIN_CPTEST1(FN) \
 extern void link_failure_##FN(void); \
 extern void link_failure_##FN##f(void); \
 extern void link_failure_##FN##l(void); \
+extern _Complex double FN(_Complex double); \
+extern _Complex float FN##f(_Complex float); \
+extern _Complex long double FN##l(_Complex long double); \
+void test_##FN(_Complex double d) \
+{ if (FN(d) != FN(d)) link_failure_##FN(); } \
+void test_##FN##f(_Complex float f) \
+{ if (FN##f(f) != FN##f(f)) link_failure_##FN##f(); } \
+void test_##FN##l(_Complex long double ld) \
+{ if (FN##l(ld) != FN##l(ld)) link_failure_##FN##l(); }
+
+/* Test the functions taking one complex argument (with the "f" and
+   "l" variants) and returning the real type.  */
+#define CPTEST1R(FN) \
+BUILTIN_CPTEST1(FN) \
+extern void link_failure_##FN(void); \
+extern void link_failure_##FN##f(void); \
+extern void link_failure_##FN##l(void); \
+extern double FN(_Complex double); \
+extern float FN##f(_Complex float); \
+extern long double FN##l(_Complex long double); \
 void test_##FN(_Complex double d) \
 { if (FN(d) != FN(d)) link_failure_##FN(); } \
 void test_##FN##f(_Complex float f) \
@@ -245,6 +298,9 @@ BUILTIN_CPTEST2(FN) \
 extern void link_failure_##FN(void); \
 extern void link_failure_##FN##f(void); \
 extern void link_failure_##FN##l(void); \
+extern _Complex double FN(_Complex double, _Complex double); \
+extern _Complex float FN##f(_Complex float, _Complex float); \
+extern _Complex long double FN##l(_Complex long double, _Complex long double); \
 void test_##FN(_Complex double d1, _Complex double d2) \
 { if (FN(d1,d2) != FN(d1,d2)) link_failure_##FN(); } \
 void test_##FN##f(_Complex float f1, _Complex float f2) \
@@ -283,27 +339,27 @@ FPTEST2            (fmod)
 FPTEST1            (gamma)
 BUILTIN_FPTEST0    (huge_val)
 FPTEST2            (hypot)
-FPTEST1            (ilogb)
+FPTEST1T           (ilogb, int)
 BUILTIN_FPTEST0    (inf)
 FPTEST1            (j0)
 FPTEST1            (j1)
 FPTEST2ARG1        (jn, int)
 FPTEST2ARG2        (ldexp, int)
 FPTEST1            (lgamma)
-FPTEST1            (llrint)
-FPTEST1            (llround)
+FPTEST1T           (llrint, long long)
+FPTEST1T           (llround, long long)
 FPTEST1            (log)
 FPTEST1            (log10)
 FPTEST1            (log1p)
 FPTEST1            (log2)
 FPTEST1            (logb)
-FPTEST1            (lrint)
-FPTEST1            (lround)
+FPTEST1T           (lrint, long)
+FPTEST1T           (lround, long)
 BUILTIN_FPTEST1ARG (nan, char *)
 BUILTIN_FPTEST1ARG (nans, char *)
 FPTEST1            (nearbyint)
 FPTEST2            (nextafter)
-FPTEST2            (nexttoward)
+FPTEST2ARG2        (nexttoward, long double)
 FPTEST2            (pow)
 FPTEST1            (pow10)
 FPTEST2            (remainder)
@@ -328,7 +384,7 @@ FPTEST2ARG1        (yn, int)
 /*CPTEST1 (cabs) See http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00040.html */
 CPTEST1 (cacos)
 CPTEST1 (cacosh)
-CPTEST1 (carg)
+CPTEST1R (carg)
 CPTEST1 (casin)
 CPTEST1 (casinh)
 CPTEST1 (catan)
@@ -336,32 +392,43 @@ CPTEST1 (catanh)
 CPTEST1 (ccos)
 CPTEST1 (ccosh)
 CPTEST1 (cexp)
-CPTEST1 (cimag)
+CPTEST1R (cimag)
 /*CPTEST1 (clog)*/
 CPTEST1 (conj)
 CPTEST2 (cpow)
 CPTEST1 (cproj)
-CPTEST1 (creal)
+CPTEST1R (creal)
 CPTEST1 (csin)
 CPTEST1 (csinh)
 CPTEST1 (csqrt)
 CPTEST1 (ctan)
 CPTEST1 (ctanh)
 
+/* These next definitions are kludges.  When GCC has a <stdint.h> it
+   should be used.
+*/
+#if __INT_MAX__ == __LONG_LONG_MAX__
+typedef int intmax_t;
+#elif __LONG_MAX__ == __LONG_LONG_MAX__
+typedef long intmax_t;
+#else
+typedef long long intmax_t;
+#endif
+
 /* Various other const builtins.  */
-TEST1         (abs, int)
+TEST1         (abs, int, int)
 BUILTIN_TEST1 (clz, int)
 BUILTIN_TEST1 (clzl, long)
 BUILTIN_TEST1 (clzll, long long)
 BUILTIN_TEST1 (ctz, int)
 BUILTIN_TEST1 (ctzl, long)
 BUILTIN_TEST1 (ctzll, long long)
-TEST1         (ffs, int)
-TEST1         (ffsl, long)
-TEST1         (ffsll, long long)
-TEST1         (imaxabs, int)
-TEST1         (labs, long)
-TEST1         (llabs, long long)
+TEST1         (ffs, int, int)
+TEST1         (ffsl, long, int)
+TEST1         (ffsll, long long, int)
+TEST1         (imaxabs, intmax_t, intmax_t)
+TEST1         (labs, long, long)
+TEST1         (llabs, long long, long long)
 BUILTIN_TEST1 (parity, int)
 BUILTIN_TEST1 (parityl, long)
 BUILTIN_TEST1 (parityll, long long)
index 99fef8d7825e2602540d1589f4f8945015a09f79..d052f5347bcdc840f3fc9723b82bad9cec26f857 100644 (file)
@@ -7,6 +7,34 @@
 
 /* { dg-do link } */
 
+extern double atan (double);
+extern float atanf (float);
+extern long double atanl (long double);
+extern double cbrt (double);
+extern float cbrtf (float);
+extern long double cbrtl (long double);
+extern double cos (double);
+extern float cosf (float);
+extern long double cosl (long double);
+extern double exp (double);
+extern float expf (float);
+extern long double expl (long double);
+extern double log (double);
+extern float logf (float);
+extern long double logl (long double);
+extern double pow (double, double);
+extern float powf (float, float);
+extern long double powl (long double, long double);
+extern double sin (double);
+extern float sinf (float);
+extern long double sinl (long double);
+extern double sqrt (double);
+extern float sqrtf (float);
+extern long double sqrtl (long double);
+extern double tan (double);
+extern float tanf (float);
+extern long double tanl (long double);
+
 /* All references to link_error should go away at compile-time.  */
 extern void link_error(void);
 
index d49de7f66de0178fd15b9c320160ac8bc0bd5bdf..c8c8609f62c2eb1730e459156d5660dc140858b6 100644 (file)
@@ -15,6 +15,7 @@ int
 main (void)
 {
   volatile int i = 0;
+  extern void exit (int);
   if (i)
     tabort ();
   if (i)
@@ -60,6 +61,7 @@ t_exit (void)
 void
 _exit (int i)
 {
+  extern void abort (void);
   abort ();
 }
 
@@ -81,5 +83,6 @@ t_Exit (void)
 void
 _Exit (int i)
 {
+  extern void abort (void);
   abort ();
 }
index dbbd8509bff002de636ed823103af0764d1ed686..88078621066bdf14d2d59240f4b58c8524e0239b 100644 (file)
@@ -8,6 +8,7 @@
    trampoline couldn't be made executable.  */
 
 extern void abort(void);
+extern double fabs(double);
 
 void foo (void)
 {
index f5b3db3460dd8f59297ff17082d86f464a6cb3a3..44cf3d2b0e9bc2089bda6b4a511557d76ef4228b 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
   
-
+extern void abort (void);
 extern int blah[];
 
 foo(int index)
index a73150a06a3ba6af2bbe53a26c5260144ad72336..d1251c103a22c0f06c521a490727be81ada44f25 100644 (file)
@@ -1,6 +1,8 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
-                                                                                
+
+extern void abort (void);
+
 union tree_node;
 typedef union tree_node *tree;
 extern const char tree_code_type[];
index 65c8026a341fe2a44b78b8ad6045193bf2fec7fb..717c8affd7377123f9b9b40817e9dd4c8978d42e 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
+extern void abort (void);
 struct rtx_def;
 typedef struct rtx_def *rtx;
 enum rtx_code
index 98681c088c9c369b0b72c457cd11b102cee59539..2bc21cae70b39b3b93358e27ef70b15d6f8a5141 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
   
+extern void abort (void);
 
 union tree_node;
 typedef union tree_node *tree;
index 53e3d5992cf22082dd228796748f017f6d05fe64..4b1d18120e18c6f0974417e64bdf94df804471c4 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
 
+extern void abort (void);
 union tree_node;
 typedef union tree_node *tree;
 struct tree_vec
index eba207a25e57eec903a5b55fdcb789f463ba8440..a1ef017dfdaf143576a8a0d6e2a21b09dd1c63f9 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
  
+extern void abort (void);
 
 union tree_node;
 typedef union tree_node *tree;
index b4b1a819ff4b933a8f34f075b64d51a1217bf214..8ac20d5c614a93d31cb40b980cb5344b190e9224 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
 
+extern void abort (void);
 union tree_node;
 typedef union tree_node *tree;
 
index 643b5e79271945868332fd0fb3055defea1cf22a..3dd95eabbcd93a546f5718307547bd84deda6476 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fdump-tree-dom3" } */
      
+extern void exit (int);
 extern void *ggc_alloc (__SIZE_TYPE__);
 typedef struct dw_attr_struct *dw_attr_ref;
 typedef struct dw_attr_struct
index 06b5710f65f0b7070bcebfb629de2a264b2fdf26..7fd0c181945d5502d91344d5cc4c12732bfadd65 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fdump-tree-dom3" } */
      
+extern void exit (int);
 extern void *ggc_alloc (__SIZE_TYPE__);
 typedef struct dw_attr_struct *dw_attr_ref;
 typedef struct dw_attr_struct
index 82634da1c5bf3eb96081b9681d2d228af54b282e..c622c98dcf117717baac34cce45a8bed356120ab 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
   
+extern void abort (void);
 
 struct rtx_def;
 typedef struct rtx_def *rtx;
index 6296346095df5eeb04e005324abdc5ed03df20cc..6df4702c70c941a20f1eec0994ce596f19e0e2c7 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
 
+extern void abort (void);
 struct rtx_def;
 typedef struct rtx_def *rtx;
 struct rtx_def
index e9837d388147f07d8f8701ab1cf1cf8ba68f4be3..cd518eba9144b5cbc8084ee900187c50c90adde3 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
      
+extern void abort (void);
 
 oof ()
 {
index b530c841a7f73a64d3c1b12829b3312e1232e53a..49f3a997d509348123ca1b4ce2ac20894b3e0b71 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
-                                                                                
+
+extern void abort (void);
 struct rtx_def;
 typedef struct rtx_def *rtx;
 
index 7f31578307a05144ae3ef059eb2515206834def2..f1e0d00c2351d8c99852339d13c95b98c73845da 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fdump-tree-dom3" } */
   
+extern void abort (void);
 
 union tree_node;
 typedef union tree_node *tree;
index 08f8f15f70621a49376c7fc6256a37ba2865d635..11781f9d3876da536659312a3e651a270637cbc9 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-cddce" } */
       
+extern void abort (void);
 
 struct rtx_def;
 typedef struct rtx_def *rtx;
index d165b19bfdaf455000535c4df6e480e423e4e750..da48d2255a4fe47a840cb08c9f2af00c0da6d41d 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
    
+extern void abort (void);
 
 com(int *blah)
 {
index a3f2ae6b70b1863d8767722f35fad975392791c5..5acc6e1dbb8723642fbe968ae687e62650e42fc9 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
     
+extern void abort (void);
 
 void
 foo (int value)
index 2058c0c987ab744343df656327cacc322284964c..bcebd075d6f30f93901195a0293af39e1a067d0b 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
     
+extern void abort (void);
 
 void
 foo (int value)
index 81711dd75cd98885968daa3e563a2679256631a6..7bdaaebed62745c49d435b15b2ae340897f23e46 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3 -fdump-tree-optimized" } */
     
+extern void abort (void);
 union tree_node;
 typedef union tree_node *tree;
 extern const char tree_code_type[];
index bab21a3cae8bbc8273609339a1962fae6233745c..c34c2dc8bbf3024f169fee65ef6814b149f9c4cc 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3 -fdump-tree-optimized" } */
     
+extern void abort (void);
 union tree_node;
 typedef union tree_node *tree;
 extern const char tree_code_type[];
index c16fda9155c69da85bc23b26da2e845845a9c36b..49b526ccc13a9038f950785bbe663b28cb636154 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
 
+extern void abort (void);
 union tree_node;
 typedef union tree_node *tree;
 enum tree_code
index cbefbb33c1a1b415b6607834703c3c14bbd8d62b..440794d6ae3d4deae13efe62d57ed213cd3b6964 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
 
+extern void abort (void);
 struct rtx_def;
 typedef struct rtx_def *rtx;
 struct rtvec_def;
index 13a4917e912d8aac0db0931589be468676bcfba0..ba0cf6b16a081b5ad13ca784774a232c003b7757 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
 
+extern void abort (void);
 typedef unsigned int size_t;
 struct rtx_def;
 typedef struct rtx_def *rtx;
index 3bc5557cf00c9817deefa5c9d0d343afc0b454c0..6fb37c34349db83d04c5d4baf6bebe93ebb19ef5 100644 (file)
@@ -6,6 +6,9 @@
 /* { dg-do compile } */
 /* { dg-options "-O -fdump-tree-optimized" } */
 
+extern void abort (void);
+extern void exit (int);
+
 int main() 
 { 
    int i; 
index f7fabe5008ca3df07961dd273a706642d9dff4f9..478933b3f488abc895042d7c88c455cc7cc4001f 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fno-tree-dominator-opts -fdump-tree-ccp" } */
-                                                                                
+
+extern int printf (const char *, ...); 
 
 main ()
 {
index 8876071c81f53a9781d5586c3b4f31a3123bd0cb..f216125eae13a0215fbdfb9cabcc0af35a676f08 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
   
+extern void abort (void);
 
 union tree_node;
 typedef union tree_node *tree;
index a114379a7ad644a161c76d652e0d2b7cf0d1b5c0..865915f4fb3a85044359b9f7678c9258e3a1cc8e 100644 (file)
@@ -7,6 +7,8 @@
 /* { dg-do compile } */
 /* { dg-options "-O1" } */ 
 
+extern __SIZE_TYPE__ strlen (const char *);
+
 int i; 
 
 static void 
index 6987e17d907d04a1d99b41337a130245da51e127..6225bcdc8a34b7a11b9495f0046237cf85a111fc 100644 (file)
@@ -4,6 +4,7 @@
     not boolean */
 /* { dg-options "-O3" } */
 /* { dg-do run } */
+extern void abort (void);
 char *foo(char *p, char *q) {
     int x = (p !=0) + (q != 0);
     if (x==2)  return "a"; else return 0;
index 571c2aeabad50d50a6874ced8d766902c97f1e08..d6e5449716944ffb1d11f515248163bd1ae7c097 100644 (file)
@@ -6,6 +6,8 @@
    were not being processed by the type based alias analyzer,
    resulting in optimizations removing a non-redundant load.  */
 
+extern void abort (void);
+
 struct bar { int count;  int *arr;};
 
 void foo (struct bar *b)
index 15eb0d62381a77ee5b495f9264fcebaa0392e7c4..be718aba692a7c365056cd03a8009e08aa7ea977 100644 (file)
@@ -10,6 +10,9 @@
    Therefore, DOM did not see that i was modified between the two ifs
    and optimized away the second if.  */
 
+extern void abort (void);
+extern void exit (int);
+
 struct x
 {
   unsigned b:1;
index c29655a24fde73f56f2d5551b15332e4c2d9e711..4be6049e909483369fc5a072b4158daedcf98e18 100644 (file)
@@ -4,6 +4,9 @@
    a .GLOBAL_VAR to model the side effects of functions.  Without it,
    we were moving the call to Faref() inside the second call to
    Faset().  */
+extern void abort (void);
+extern void exit (int);
+
 main ()
 {
   int table, c, elt;
index a3e16ad451e2cce7487f197d2c3000b2dd6ad592..b1bed75dad2094d52ea517d0f828f5525a8e0093 100644 (file)
@@ -4,6 +4,7 @@
 /* Gimplification problem exposed by zsh.  All the side-effects in
    function arguments and in the called expression should happen
    before the actual function call.  */
+extern void abort (void);
 int A;
 
 typedef void (*fnptr) (void);
index d3d0100a02cbaef718dd014b80829da907c557a7..5f99be2874eeb3f4901abf88e815202d1b79a87a 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-ssa-vops" } */
+extern void abort (void);
 int a; 
  
 extern void __attribute__ ((malloc)) *foo ();
index 091703a1017b28fda3783d530cfd93402ef1f73b..b5e702c57ea01d2c44ef0eba7f9369ce89879858 100644 (file)
@@ -5,6 +5,8 @@
    fail to terminate when there is a nontrivial cycle in the corresponding
    ssa graph.  */
 
+extern __SIZE_TYPE__ strlen (const char *);
+
 void foo(int i)
 {
   char *s = "abcde";
index d3c9d42152e4163deab80975ce0e6aa35625a42b..ca1b81c5f0291135b2376ae10af8650a177de894 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */ 
 /* { dg-options "-O2 -fdump-tree-pre-stats" } */
+extern int printf (const char *, ...);
 int main(int argc, char **argv)
 {
        int a;
index c2a85940a306bdb79f369be84ec8b33e23651671..33901523fb38bd750e64519a1724527fb7c7c14a 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fdump-tree-tailc-details" } */
+extern void *alloca (__SIZE_TYPE__);
 int q(int a);
 int *v;
 int
index 2940a5019bd38f04e54f000d35fe0f9e6842d1f8..d0d4f3a1e45296b786d8a98a7c29dad832333126 100644 (file)
@@ -1,6 +1,9 @@
 /* { dg-do run } */
 /* { dg-options "-O1 -fdump-tree-optimized" } */
 
+extern void abort (void);
+extern void exit (int);
+
 int sum (int n)
 {
   if (n == 0)
index 5156c17e82218390c27de914b26eb069d6e9b710..4458658a58ecc219b3c5f81658cffd423e356279 100644 (file)
@@ -1,6 +1,9 @@
 /* { dg-options "" } */
 /* { dg-options "-mcpu=ultrasparc -mv8plus" { target sparc-*-* } } */
 
+extern void abort (void);
+extern void exit (int);
+
 unsigned long long foo (unsigned long long x)
 {
   return 0x73500000735LL * x;
index 634016d2ecf6feed28eb72fe261db5ee77a9df1d..bab82a2d6822adffd85ff04964f42d407bde01be 100644 (file)
@@ -1,6 +1,8 @@
 /* { dg-do compile } */
 /* { dg-options "-Winline -O2" } */
 
+extern void *alloca (__SIZE_TYPE__);
+
 void big (void);
 inline void *q (void)
 {                              /* { dg-warning "(function not inlinable|alloca)" } */
index 94202504fb586996ee0247c203dc9f608fd1f0f4..8c6018c566d825ff5c3333432558f518466dfdf2 100644 (file)
@@ -4,6 +4,8 @@
    This test is the same as gcov-4.c.  The "count" comments are left in to
    make comparisons easier; they are ignored for this test. */
 
+extern void abort (void);
+
 int do_something (int i)
 {
   return i;
index 4615b34f4ff10270106e0ac38b6ddfe979ba9d5d..e0931f39c469e9709b4782d9f899cda6141827ff 100644 (file)
@@ -3,6 +3,9 @@
    This is the same as test gcc.c-torture/execute/980526-1.c and
    gcc.misc-tests/gcov-3.c */
 
+extern void abort (void);
+extern void exit (int);
+
 int expect_do1 = 1, expect_do2 = 2;
  
 static int doit(int x){
index 36fe64f802b1862d2db78efeea0f0d6d882dd5f7..fcccdeeff419575a95764c5ad54714c8582fc595 100644 (file)
@@ -4,6 +4,9 @@
 /* { dg-options "-fprofile-arcs -ftest-coverage" } */
 /* { dg-do run { target native } } */
 
+extern void abort (void);
+extern void exit (int);
+
 int expect_do1 = 1, expect_do2 = 2;
  
 static int doit(int x){
index 27ef508cfe6cc39889897b24918dcc54ecda0ea9..9d8ab1c1097ec0fe0761b10e1e3447ded32944f9 100644 (file)
@@ -4,6 +4,8 @@
 /* { dg-options "-fprofile-arcs -ftest-coverage" } */
 /* { dg-do run { target native } } */
 
+extern void abort (void);
+
 int do_something (int i)
 {
   return i;
index 139f10d86c901b7b0bf9da02a4a18b9d898d715b..7653c5897ad7e18ad5b31a43277a5d4232d4f13d 100644 (file)
@@ -4,6 +4,8 @@
 /* { dg-options "-fprofile-arcs -ftest-coverage" } */
 /* { dg-do run { target native } } */
 
+extern void abort (void);
+
 int do_something (int i)
 {
   return i;
index 90273d56396b81c9a3a394b5486435580cb0f1e6..aefab3ed33a79dc53b534b455510b1e1ea10f500 100644 (file)
@@ -6,6 +6,8 @@
 /* { dg-options "-fprofile-arcs -ftest-coverage" } */
 /* { dg-do run { target native } } */
 
+extern void exit (int);
+
 int val;
 
 void
index 700cec6f533b8ad900ca709c13ec4dd3d60c51b2..2e0f6e8b03c1854942ddbe9d0afc3f54968bea33 100644 (file)
@@ -6,6 +6,9 @@
 
 #include <setjmp.h>
 
+extern void abort (void);
+extern void exit (int);
+
 jmp_buf env;
 int val;
 int longjmp_taken;
index 5774963d04fc6afa74b80030fbbf4a2f308939dd..a44c6076481cc2ec25ffc6f58425a8e363641318 100644 (file)
@@ -3,6 +3,8 @@
 
 /* { dg-do compile { target i?86-*-* } } */
 
+extern void exit (int);
+
 char *msg = "howdy there";
 
 void foo (char *p)
index 301e8b7ed9f8d352793832ec2ad30370dfc45f2a..09a67d8342601d8e35e8f83c205d3ce40964004f 100644 (file)
@@ -4,6 +4,8 @@
 
 /* { dg-do compile { target i?86-*-* } } */
 
+extern void exit (int);
+
 char *msg = "howdy there";
 
 void foo (char *p)
index bdd236ade8837a46262a3372d035ff2ffbf18ec4..0ad3220e856cd48aef8fef8a024c0dfa5945538b 100644 (file)
@@ -3,6 +3,8 @@
 
 /* { dg-do compile { target i?86-*-* } } */
 
+extern void exit (int);
+
 char *msg = "howdy there";
 
 void foo (char *p)
index 783fc822dae13509da14e979dffdc2bd31775c14..15275775caa29eb4e50637958ba1b39a18c46164 100644 (file)
@@ -3,6 +3,8 @@
 
 /* { dg-do compile { target i?86-*-* } } */
 
+extern void exit (int);
+
 char *msg = "howdy there";
 
 void foo (char *p)
index 7a182bd938e6872b964fd0646f392ab8095e6d9c..8ec3f722c115dac29a17101c138e016115856951 100644 (file)
@@ -4,6 +4,7 @@
 /* { dg-options "-lobjc" } */
 /* { dg-do run } */
 #include <stdio.h>
+#include <stdlib.h>
 #include <objc/objc.h>
 #include <objc/Object.h>
 
index 8b8af5ed3073408825beb28398d19014f6478097..b3a8c28b5e68a168df0cffa6d322278bb055cc9d 100644 (file)
@@ -4,6 +4,8 @@
 #include <objc/objc-api.h>
 #include <objc/Object.h>
 
+extern void abort (void);
+
 /* Test loading unclaimed categories - categories of a class defined
    separately from the class itself.  */