aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog24
-rw-r--r--gcc/testsuite/g++.dg/special/conpr-1.C2
-rw-r--r--gcc/testsuite/g++.dg/special/conpr-2.C2
-rw-r--r--gcc/testsuite/g++.dg/special/conpr-3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/complex1.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest21.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/rethrow3.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/init3.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/optimize2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm15.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt2.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility17.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh23.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh25.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh34.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh48.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh55.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2736.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9732b.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.oliva/new1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/addrof1.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/align.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dyncast5.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/goto1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init5.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init7.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/union2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/vbase1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb14.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb39.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb44.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb54.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb63.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eh990323-1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eh990323-2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eh990323-3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eh990323-4.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eh990323-5.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/ice990323-2.C2
39 files changed, 89 insertions, 10 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index fc1cbf9..9d735e7 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,27 @@
+2000-05-27 Zack Weinberg <zack@wolery.cumb.org>
+
+ Relative to g++.dg/special:
+ * conpr-1.C, conpr-2.C, conpr-3.C: Include stdlib.h.
+
+ Relative to g++.old-deja:
+ * g++.brendan/complex1.C, g++.jason/optimize2.C,
+ g++.mike/p9732b.C, g++.other/addrof1.C, g++.other/dyncast5.C,
+ g++.other/init5.C, g++.other/init7.C, g++.other/union2.C,
+ g++.pt/vbase1.C, g++.robertl/eb14.C, g++.robertl/eh990323-1.C,
+ g++.robertl/eh990323-2.C, g++.robertl/eh990323-3.C,
+ g++.robertl/eh990323-4.C, g++.robertl/eh990323-5.C,
+ g++.robertl/ice990323-2.C: Prototype exit and/or abort.
+
+ * g++.brendan/nest21.C, g++.eh/rethrow3.C, g++.jason/init3.C,
+ g++.law/arm15.C, g++.law/cvt2.C, g++.law/visibility17.C,
+ g++.mike/eh23.C, g++.mike/eh25.C, g++.mike/eh34.C,
+ g++.mike/eh48.C, g++.mike/eh55.C, g++.mike/p2736.C,
+ g++.oliva/new1.C, g++.other/align.C, g++.robertl/eb39.C,
+ g++.robertl/eb54.C, g++.robertl/eb63.C: Include stdlib.h
+ and/or string.h.
+
+ * g++.other/goto1.C: Update expectations for error messages.
+
2000-05-25 Alexandre Oliva <aoliva@cygnus.com>
* gcc.c-torture/compile/20000523-1.c: New test.
diff --git a/gcc/testsuite/g++.dg/special/conpr-1.C b/gcc/testsuite/g++.dg/special/conpr-1.C
index 8ab6bfe..c91753d 100644
--- a/gcc/testsuite/g++.dg/special/conpr-1.C
+++ b/gcc/testsuite/g++.dg/special/conpr-1.C
@@ -1,5 +1,7 @@
/* { dg-do run } */
+#include <stdlib.h>
+
class foo_t {
int x;
public:
diff --git a/gcc/testsuite/g++.dg/special/conpr-2.C b/gcc/testsuite/g++.dg/special/conpr-2.C
index 07ba8ab..c5fc235 100644
--- a/gcc/testsuite/g++.dg/special/conpr-2.C
+++ b/gcc/testsuite/g++.dg/special/conpr-2.C
@@ -1,5 +1,7 @@
/* { dg-do run } */
+#include <stdlib.h>
+
class foo_t {
int x;
static int count;
diff --git a/gcc/testsuite/g++.dg/special/conpr-3.C b/gcc/testsuite/g++.dg/special/conpr-3.C
index 07ba8ab..c5fc235 100644
--- a/gcc/testsuite/g++.dg/special/conpr-3.C
+++ b/gcc/testsuite/g++.dg/special/conpr-3.C
@@ -1,5 +1,7 @@
/* { dg-do run } */
+#include <stdlib.h>
+
class foo_t {
int x;
static int count;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C b/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
index f6998fd..74a91b3 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
@@ -5,7 +5,10 @@
// a bug where the compiler was not converting the integer `90' to a
// complex number, unless you did `90.0'. Fixed 10/1/1997.
-extern "C" int printf (const char *, ...);
+extern "C" {
+int printf (const char *, ...);
+void exit (int);
+};
__complex__ double cd;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C
index f32166d..b866a3e 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C
@@ -1,6 +1,7 @@
// GROUPS passed nested-classes
#include <iostream.h>
#include <stdio.h>
+#include <string.h>
static char output[1024];
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/rethrow3.C b/gcc/testsuite/g++.old-deja/g++.eh/rethrow3.C
index 5da2081..5ab25d6 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/rethrow3.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/rethrow3.C
@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <stdlib.h>
#include <exception>
static void
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/init3.C b/gcc/testsuite/g++.old-deja/g++.jason/init3.C
index ae86931..03f1dbf 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/init3.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/init3.C
@@ -1,8 +1,7 @@
// PRMS Id: 5652
// Bug: strings does not get initialized.
-extern "C" void * memcpy (void *, const void *, __SIZE_TYPE__);
-extern "C" int strcmp (const char *, const char *);
+#include <string.h>
class My_string {
char *str;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/optimize2.C b/gcc/testsuite/g++.old-deja/g++.jason/optimize2.C
index 0d4e177..ade4531 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/optimize2.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/optimize2.C
@@ -1,6 +1,8 @@
// Used to crash on the alpha with optimization.
// Special g++ Options: -w
+extern "C" void abort (void);
+
struct Fix {
unsigned short l;
};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm15.C b/gcc/testsuite/g++.old-deja/g++.law/arm15.C
index 639c1fc..1d41680 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/arm15.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/arm15.C
@@ -6,6 +6,7 @@
// Message-ID: <9310211510.AA14943@holden.lulea.trab.se>
#include <stdio.h>
+#include <stdlib.h>
int state = 0;
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt2.C b/gcc/testsuite/g++.old-deja/g++.law/cvt2.C
index 4c28a7e..7d3e034 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt2.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/cvt2.C
@@ -1,13 +1,10 @@
// GROUPS passed conversions
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <iostream.h>
#include <fstream.h>
-extern "C" {
-int strncmp (const char *, const char *, size_t);
-}
-
class cvec {
public:
~cvec(){ delete s; }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility17.C b/gcc/testsuite/g++.old-deja/g++.law/visibility17.C
index 125bf00..fa4d6db 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility17.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/visibility17.C
@@ -6,6 +6,7 @@
// Subject: Access to private constructor.
// Message-ID: <9308060023.AA10283@neptune.caere.com>
#include <iostream.h>
+#include <string.h>
class Base
{
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh23.C b/gcc/testsuite/g++.old-deja/g++.mike/eh23.C
index 27fc53d..2383875 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh23.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh23.C
@@ -2,6 +2,7 @@
// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
#include <exception>
+#include <stdlib.h>
struct double_fault { };
int fault_now;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh25.C b/gcc/testsuite/g++.old-deja/g++.mike/eh25.C
index 52754b5..a179abc 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh25.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh25.C
@@ -2,6 +2,7 @@
// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
#include <exception>
+#include <stdlib.h>
void my_terminate() {
exit (0); // Double faults should call terminate
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh34.C b/gcc/testsuite/g++.old-deja/g++.mike/eh34.C
index 9c7e985..ca3d73b 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh34.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh34.C
@@ -2,6 +2,7 @@
// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
#include <exception>
+#include <stdlib.h>
void my_unexpected() {
exit (0);
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh48.C b/gcc/testsuite/g++.old-deja/g++.mike/eh48.C
index 351fc4f..dd4e2a2 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh48.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh48.C
@@ -2,6 +2,8 @@
// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
#include <exception>
+#include <stdlib.h>
+
using std::uncaught_exception;
class A {
public:
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh55.C b/gcc/testsuite/g++.old-deja/g++.mike/eh55.C
index e64bcf8..d61d033 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh55.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh55.C
@@ -2,6 +2,7 @@
// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
#include <exception>
+#include <stdlib.h>
void my_terminate_handler() {
exit(0);
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2736.C b/gcc/testsuite/g++.old-deja/g++.mike/p2736.C
index 7a04051..43d81e4 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2736.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p2736.C
@@ -2,6 +2,8 @@
// statics are destroyed at the right time. See PR 2736 for details.
// prms-id: 2736
+#include <stdlib.h>
+
int count;
struct A {
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9732b.C b/gcc/testsuite/g++.old-deja/g++.mike/p9732b.C
index 59cfe4c..d4d200a 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9732b.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p9732b.C
@@ -3,8 +3,10 @@
int count;
int bail = 0;
+extern "C" void abort (void);
extern "C" void _exit (int);
+
struct base {
base () { ++count; }
~base () { --count; }
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/new1.C b/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
index 67c050b..074b5e8 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
@@ -7,6 +7,7 @@
// execution test
#include <new>
+#include <stdlib.h>
struct A {
A() { throw 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.other/addrof1.C b/gcc/testsuite/g++.old-deja/g++.other/addrof1.C
index b4d55f6..fda0992 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/addrof1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/addrof1.C
@@ -1,3 +1,6 @@
+
+extern "C" void abort ();
+
typedef struct st {
unsigned char a;
unsigned char b;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/align.C b/gcc/testsuite/g++.old-deja/g++.other/align.C
index 4ac1d54..f5cc850 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/align.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/align.C
@@ -1,4 +1,5 @@
// Build don't link:
+#include <string.h>
class bar {
public:
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dyncast5.C b/gcc/testsuite/g++.old-deja/g++.other/dyncast5.C
index 65a2852..a6992d7 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/dyncast5.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/dyncast5.C
@@ -3,6 +3,8 @@
// dynamic cast can only cast to public unambiguous bases
+extern "C" void abort ();
+
struct A {virtual ~A(){} int m; };
struct B {virtual ~B(){} int m; };
diff --git a/gcc/testsuite/g++.old-deja/g++.other/goto1.C b/gcc/testsuite/g++.old-deja/g++.other/goto1.C
index 77da8e5..0839ee5 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/goto1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/goto1.C
@@ -10,12 +10,12 @@ struct S
void f ()
{
{
- S s1;
+ S s1; // ERROR - skips initialization
- t:
+ t: // ERROR - jump to label
S s2;
;
}
- goto t; // ERROR - jump avoids initialization of `s1'
+ goto t; // ERROR - from here
}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init5.C b/gcc/testsuite/g++.old-deja/g++.other/init5.C
index 3f4785e..92b1d32 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/init5.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/init5.C
@@ -2,6 +2,8 @@
// Original test attributed to James Kanze <jkanze@otelo.ibmmail.com>
// execution test - XFAIL *-*-*
+extern "C" void abort ();
+
static int cnt;
class A {
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init7.C b/gcc/testsuite/g++.old-deja/g++.other/init7.C
index 3b17da0..1ecc39a 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/init7.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/init7.C
@@ -4,6 +4,8 @@
// The initialization of a static local variable must be retried if a
// previous try finished by throwing an exception [stmt.dcl]/4
+extern "C" void abort ();
+
struct foo {
foo() { throw true; }
};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/union2.C b/gcc/testsuite/g++.old-deja/g++.other/union2.C
index 32dd26c..e2daea3 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/union2.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/union2.C
@@ -2,6 +2,8 @@
// Bug: gcc and g++ didn't zero unions with empty initializers.
// Submitted by J"orn Rennecke <amylaar@cygnus.co.uk>
+extern "C" void exit (int);
+
typedef union u
{
union u *up;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/vbase1.C b/gcc/testsuite/g++.old-deja/g++.pt/vbase1.C
index 58d26fc..d386817 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/vbase1.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/vbase1.C
@@ -1,6 +1,8 @@
// Check that template classes handle inherited virtual bases
// properly, initializing them before direct non-virtual bases.
+extern "C" void exit (int);
+
int aflag;
struct A
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb14.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb14.C
index de00e7b..2a0fa52 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb14.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb14.C
@@ -1,3 +1,6 @@
+
+extern "C" void abort ();
+
template<int N>
struct I {
};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C
index feefca7..edf6ad4 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C
@@ -4,6 +4,7 @@
// #include <streambuf.h>
#include <libio.h>
#include <strstream.h>
+#include <string.h>
extern bool foo2 (ostream &out, istream &in);
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C
index 54eab15..b02b9aa 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C
@@ -5,6 +5,7 @@
// friend function, the non-template function does
#include <stdio.h>
+#include <stdlib.h>
#include <iostream.h>
template <class T>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C
index dfcf3a9..bcf9968 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C
@@ -1,4 +1,5 @@
#include <iomanip.h>
+#include <stdlib.h>
int main()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C
index 0e85591..671fe81 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C
@@ -1,6 +1,7 @@
//Special g++ Options:
//This uses GNU extensions, so disable -ansi
#include <stdio.h>
+#include <stdlib.h>
class A {
public:
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-1.C b/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-1.C
index ef6d2dc..40df155 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-1.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-1.C
@@ -1,4 +1,6 @@
// check cleanup of template temporaries
+extern "C" void abort ();
+extern "C" void exit (int);
int ctor = 0;
int dtor = 0;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-2.C b/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-2.C
index 90d93ad..d672814 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-2.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-2.C
@@ -1,4 +1,6 @@
// check MI and VBC offsets on throw
+extern "C" void abort ();
+extern "C" void exit (int);
struct A {
int x[23];
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-3.C b/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-3.C
index 5d94515..9dce31c 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-3.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-3.C
@@ -1,4 +1,6 @@
// try throwing 0 cast to a class object
+extern "C" void abort ();
+extern "C" void exit (int);
struct A {};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-4.C b/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-4.C
index 315a78b..3884015 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-4.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-4.C
@@ -1,4 +1,6 @@
// check MI and VBC offsets on throw
+extern "C" void abort ();
+extern "C" void exit (int);
struct A {
int x[23];
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-5.C b/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-5.C
index 7f52a9b..87718d2 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-5.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eh990323-5.C
@@ -1,4 +1,6 @@
// check cleanup of partial array objects
+extern "C" void abort (void);
+extern "C" void exit (int);
int ctor = 0;
int dtor = 0;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/ice990323-2.C b/gcc/testsuite/g++.old-deja/g++.robertl/ice990323-2.C
index 0686ee5..5d08ada 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/ice990323-2.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/ice990323-2.C
@@ -1,4 +1,6 @@
// check EH with templates
+extern "C" void abort ();
+extern "C" void exit (int);
template <class T, int n, class U> struct A {
A() {}