* gcc.dg/20001023-1.c, gcc.dg/20001108-1.c, gcc.dg/20001117-1.c,
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Aug 2004 08:22:26 +0000 (08:22 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Aug 2004 08:22:26 +0000 (08:22 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85465 138bc75d-0d04-0410-961f-82ee72b054a4

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 4ae35e2..2ed388d 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 ce5e532..10cb272 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 a21d5b0..682257f 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 a16a62c..8eb7f58 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 e4eaae0..f600373 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 5937bcb..01ff172 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 9dea904..dd05798 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 1132637..d187a66 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 6e59cd6..322c1d0 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 56a478f..e38214c 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 210524d..0509d8a 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-options "" }
 
+extern int printf (const char *, ...);
+
 int foo() {
   int yd;
   float in[1][yd];
index 2c4a8d3..f087512 100644 (file)
@@ -1,6 +1,8 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 
+extern void abort (void);
+
 int A, B;
 
 void foo()
index 39833a6..806dea7 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 d8ee070..7c706d8 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 58878b6..0bae456 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 b0423a2..ffaf353 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 f66e9e2..f9d915f 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 d57a914..781414a 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 77b6228..6aac7aa 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 a19c94a..9a4d411 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 302d7d7..187eb52 100644 (file)
@@ -6,6 +6,8 @@
    { dg-options "" }
 */
 
+extern void abort (void);
+
 struct A
 {
   char c;
index d547cfc..4e30275 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 f33512c..a9e21fb 100644 (file)
@@ -11,7 +11,7 @@
 extern void link_error(void);
 
 extern double exp(double);
-
+extern double atan(double);
 
 int main()
 {
index a691f5e..f0583a9 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 e3d6522..b1f31c8 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 1bd9534..fb7dd95 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 38d0c4f..60b127f 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 87995a4..13e708e 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 99d1a70..c3066b4 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 724640a..62c1206 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 9d7d239..7c19663 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 986ea80..aae33d3 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 aa1c8ed..c3af2d3 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 e884e83..1dd8276 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 aa1c8ed..c3af2d3 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 9f1c0db..9b83fd3 100644 (file)
@@ -4,6 +4,8 @@
 
 /* { dg-do compile } */
 
+extern int printf (const char *, ...);
+
 #define A(name) X/**/name
 
 #define B(name) \
index 500ef1e..d97a439 100644 (file)
@@ -4,6 +4,7 @@
 #define foo(a, b) c="a"; d="b";
 
 extern void abort ();
+extern void exit (int);
 
 int main ()
 {
index 1194a6f..4efe430 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 074e872..9f49463 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 43c916c..210917a 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 0578716..67c16d9 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 bf7aa1d..826f5b6 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 ef6c16b..2c6360b 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 69d7e3d..f47cd70 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 c1b4bce..59ed5bf 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 f450dd7..b87a05b 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 8acc65d..fa96f89 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 264dde2..981baec 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 ed7cb52..54337b2 100644 (file)
@@ -1,3 +1,4 @@
+extern int printf(const char *, ...);
 typedef unsigned short          ushort;
 struct sembuf {
   ushort  sem_num;         
index 6b69ead..72aa3cd 100644 (file)
@@ -1,3 +1,4 @@
+extern void *memcpy (void *, const void *, __SIZE_TYPE__);
 typedef int word_type;
    
 static void
index 0bfc3f2..7f09c27 100644 (file)
@@ -1,3 +1,5 @@
+extern void abort (void);
+extern void exit (int);
 static int v = 3;
 
 f ()
index 27ae0cd..60da6a0 100644 (file)
@@ -3,6 +3,8 @@
    { dg-options "" }
    { dg-do run } */
 
+extern void abort (void);
+
 typedef unsigned char uint8_t;
 
 typedef struct {
index e95030c..7645043 100644 (file)
@@ -2,6 +2,8 @@
    of a field.  */
 /* { dg-do run } */
 
+extern void abort (void);
+
 struct A {
   double d;
 } __attribute__ ((aligned));
index e4db473..60e35aa 100644 (file)
@@ -1,4 +1,5 @@
 #include "inline-4.h"
+extern int printf (const char *, ...);
 int main(void) {
   printf (getstring());
   return 0;
index 6aa203c..752cda4 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 c71ec4d..8d599b8 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 5341870..7386932 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 64ebb0e..9c73e6c 100644 (file)
@@ -1,6 +1,8 @@
 /* Bug 16325.  */
 /* { dg-options "-O -fprofile-generate" } */
 
+extern void abort (void);
+
 int *p1;
 int *p2;
 int *p3;
index f9b1f78..4521ace 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 cb2d1d5..4c226c4 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 37637e7..86bc8da 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 15d235c..bbb0373 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 424908d..da95f13 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 4b0d299..bb85510 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 d98bfa8..04ca4e3 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 ab74266..7778b66 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 304e92a..62070c4 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 99fef8d..d052f53 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 d49de7f..c8c8609 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 dbbd850..8807862 100644 (file)
@@ -8,6 +8,7 @@
    trampoline couldn't be made executable.  */
 
 extern void abort(void);
+extern double fabs(double);
 
 void foo (void)
 {
index f5b3db3..44cf3d2 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 a73150a..d1251c1 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 65c8026..717c8af 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 98681c0..2bc21ca 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 53e3d59..4b1d181 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 eba207a..a1ef017 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 b4b1a81..8ac20d5 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 643b5e7..3dd95ea 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 06b5710..7fd0c18 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 82634da..c622c98 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 6296346..6df4702 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 e9837d3..cd518eb 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
      
+extern void abort (void);
 
 oof ()
 {
index b530c84..49f3a99 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 7f31578..f1e0d00 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 08f8f15..11781f9 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 d165b19..da48d22 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
    
+extern void abort (void);
 
 com(int *blah)
 {
index a3f2ae6..5acc6e1 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
     
+extern void abort (void);
 
 void
 foo (int value)
index 2058c0c..bcebd07 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-dom3" } */
     
+extern void abort (void);
 
 void
 foo (int value)
index 81711dd..7bdaaeb 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 bab21a3..c34c2dc 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 c16fda9..49b526c 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 cbefbb3..440794d 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 13a4917..ba0cf6b 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 3bc5557..6fb37c3 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 f7fabe5..478933b 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 8876071..f216125 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 a114379..865915f 100644 (file)
@@ -7,6 +7,8 @@
 /* { dg-do compile } */
 /* { dg-options "-O1" } */ 
 
+extern __SIZE_TYPE__ strlen (const char *);
+
 int i; 
 
 static void 
index 6987e17..6225bcd 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 571c2ae..d6e5449 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 15eb0d6..be718ab 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 c29655a..4be6049 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 a3e16ad..b1bed75 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 d3d0100..5f99be2 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 091703a..b5e702c 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 d3c9d42..ca1b81c 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 c2a8594..3390152 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 2940a50..d0d4f3a 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 5156c17..4458658 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 634016d..bab82a2 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 9420250..8c6018c 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 4615b34..e0931f3 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 36fe64f..fcccdee 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 27ef508..9d8ab1c 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 139f10d..7653c58 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 90273d5..aefab3e 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 700cec6..2e0f6e8 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 5774963..a44c607 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 301e8b7..09a67d8 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 bdd236a..0ad3220 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 783fc82..1527577 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 7a182bd..8ec3f72 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 8b8af5e..b3a8c28 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.  */