From: Zack Weinberg Date: Sun, 28 May 2000 05:38:02 +0000 (+0000) Subject: Relative to g++.dg/special: X-Git-Tag: prereleases/libstdc++-2.92~6131 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d2b51b106a2c3a176255baf6f0cb3cec57fa9c6b;p=thirdparty%2Fgcc.git 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. From-SVN: r34226 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fc1cbf91a79c..9d735e707a09 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,27 @@ +2000-05-27 Zack Weinberg + + 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 * 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 8ab6bfee2584..c91753dc4959 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 + 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 07ba8ab9e89b..c5fc235e779b 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 + 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 07ba8ab9e89b..c5fc235e779b 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 + 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 f6998fd34949..74a91b36c9f3 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 f32166d9ad25..b866a3e50570 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 #include +#include 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 5da2081b1b9f..5ab25d66fd41 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 +#include #include 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 ae8693195ca9..03f1dbff04a5 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 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 0d4e17752c75..ade45317ac90 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 639c1fc5e8b1..1d4168075c78 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 +#include 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 4c28a7e6bd06..7d3e03453e08 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 #include +#include #include #include -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 125bf00f0677..fa4d6db69b97 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 +#include 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 27fc53d8eebf..2383875206ab 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 +#include 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 52754b533593..a179abcfe6ef 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 +#include 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 9c7e985bbea7..ca3d73b390c7 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 +#include 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 351fc4f60a85..dd4e2a2a38f3 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 +#include + 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 e64bcf823745..d61d033e97b9 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 +#include 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 7a0405196ecf..43d81e4b63b6 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 + 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 59cfe4c578d8..d4d200a28c95 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 67c050b5fd6a..074b5e8cb310 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 +#include 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 b4d55f6a21b9..fda09923b76a 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 4ac1d54ecf19..f5cc8508313b 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 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 65a28523ec1f..a6992d76247a 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 77da8e58b90b..0839ee5e1427 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 3f4785e360eb..92b1d329ec03 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 // 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 3b17da029e83..1ecc39afc83d 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 32dd26c97a52..e2daea32e3e0 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 +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 58d26fcf2add..d38681726693 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 de00e7baa6be..2a0fa52bd48d 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 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 feefca77ad93..edf6ad42420b 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 #include #include +#include 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 54eab1536090..b02b9aafc8e9 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 +#include #include template diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C index dfcf3a9e927d..bcf9968d1213 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 +#include 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 0e8559124d62..671fe8132006 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 +#include 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 ef6d2dc77e1e..40df1551d007 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 90d93ad92118..d672814ba19c 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 5d945154aafa..9dce31cb787f 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 315a78b4bb15..3884015234ab 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 7f52a9b8d86e..87718d22c384 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 0686ee5748d9..5d08ada1be37 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 struct A { A() {}