From 42ded877b0b8ed0213bce5e01a70ecc443c8a5d2 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Tue, 2 Jan 2001 07:55:11 +0100 Subject: [PATCH] New tests for noreturn. From-SVN: r38611 --- gcc/testsuite/ChangeLog | 120 ++++++++++++++++-------------- gcc/testsuite/gcc.dg/noreturn-3.c | 10 +++ gcc/testsuite/gcc.dg/noreturn-4.c | 10 +++ 3 files changed, 83 insertions(+), 57 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/noreturn-3.c create mode 100644 gcc/testsuite/gcc.dg/noreturn-4.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a93223cc4e8..b339afaff89 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2001-01-02 Andreas Jaeger + + * gcc.dg/noreturn-3.c: New test. + + * gcc.dg/noreturn-4.c: New test. + 2001-01-01 Kaveh R. Ghazi * gcc.c-torture/execute/stdio-opt-1.c: Also test @@ -30,7 +36,7 @@ * gcc.dg/noncompile/20001228-1.c: New test. * gcc.dg/20001228-1.c: New test. - + * gcc.c-torture/execute/20001228-1.c: New test. 2000-12-28 Joseph S. Myers @@ -169,8 +175,8 @@ Thu Dec 21 22:43:03 2000 J"orn Rennecke * gcc.dg/cpp/lineflags.c: New tests. * gcc.dg/cpp/poison.c: Update. - * gcc.dg/cpp/redef2.c: Update. - * gcc.dg/cpp/skipping.c: New test. + * gcc.dg/cpp/redef2.c: Update. + * gcc.dg/cpp/skipping.c: New test. 2000-12-07 Geoffrey Keating @@ -844,7 +850,7 @@ Fri Nov 3 13:32:14 2000 Mark P Mitchell 2000-10-28 Neil Booth New tests and test updates for new macro expander. - + * gcc.dg/cpp/19960224-2.c, 20000625-2.c, cxxcom2.c, directiv.c, endif.c, if-4.c, if-5.c, if-mop.c, macsyntx.c, paste2.c, paste6.c, paste8.c, redef2.c, strify2.c, strp1.c, tr-warn1.c, tr-warn3.c, @@ -895,7 +901,7 @@ Fri Nov 3 13:32:14 2000 Mark P Mitchell 2000-10-26 Gabriel Dos Reis * g++.old-deja/g++.pt/memtemp77.C (main): Adjust comparaison - operands. + operands. 2000-10-25 Joseph S. Myers @@ -1076,7 +1082,7 @@ Mon Oct 9 23:32:06 MET DST 2000 Jan Hubicka 2000-09-29 Gabriel Dos Reis * g++.old-deja/g++.ext/pretty3.C: Fix comparison with - __PRETTY_FUNCTION__. + __PRETTY_FUNCTION__. * g++.old-deja/g++.ext/pretty2.C: Likewise. 2000-09-28 Kaveh R. Ghazi @@ -1170,7 +1176,7 @@ Thu Sep 14 16:48:49 2000 Jeffrey A Law (law@cygnus.com) 2000-09-12 Alexandre Oliva * g++.other/inline13.C: New test. - + 2000-09-12 Andreas Jaeger * gcc.c-torture/execute/widechar-2.c: New test for wchar_t @@ -1194,7 +1200,7 @@ Tue Sep 12 18:32:07 2000 J"orn Rennecke * gcc.c-torture/execute/20000910-2.c: Likewise. 2000-09-11 Robert Lipe - + * gcc.dg/pragma-align.c: New test. 2000-09-11 Nathan Sidwell @@ -4194,7 +4200,7 @@ Sat Nov 21 21:41:05 1998 Jeffrey A Law (law@cygnus.com) 1998-11-16 Alexandre Oliva * g++.old-deja/g++.eh/throw2.C: New test. CV-qualifiers are not - properly discarded. + properly discarded. Sun Oct 11 05:04:28 1998 Ken Raeburn @@ -4254,7 +4260,7 @@ Mon Oct 19 14:03:07 1998 Jeffrey A Law (law@cygnus.com) Wed Oct 14 21:11:19 1998 Robert Lipe * lib/objc-torture.exp (objc-torture-execute): Add -I so we can - find objc headers. + find objc headers. 1998-10-14 Andreas Schwab @@ -4268,8 +4274,8 @@ Wed Oct 14 21:11:19 1998 Robert Lipe 1998-10-12 Alexandre Oliva * g++.old-deja/g++.pt/explicit74.C: New test. Explicit - instantiation of template produces incorrect code for delete - expression. + instantiation of template produces incorrect code for delete + expression. * g++.old-deja/g++.pt/instantiate5.C: New test. `global constructors' name is not unique. @@ -4277,7 +4283,7 @@ Wed Oct 14 21:11:19 1998 Robert Lipe * g++.old-deja/g++.pt/instantiate5-main.cc: Ditto. * g++.old-deja/g++.other/init8.C: New test. Uninitialized - automatic array of const is ill-formed. + automatic array of const is ill-formed. * g++.old-deja/g++.pt/ttp53.C: New test. Incorrect substitution of template parameter? @@ -4294,7 +4300,7 @@ Wed Oct 14 21:11:19 1998 Robert Lipe 1998-10-11 Alexandre Oliva * g++.old-deja/g++.ns/main1.C: New test. main() should only be - reserved in the global namespace. + reserved in the global namespace. * g++.old-deja/g++.pt/instantiate4.C: New test: -frepo does not generate needed virtual table. @@ -4313,11 +4319,11 @@ Wed Oct 14 21:11:19 1998 Robert Lipe * g++.old-deja/g++.brendan/parse6.C: XFAILs, not ERRORs. * g++.old-deja/g++.other/using5.C: New test; using decl from base - class should be usable as argument of member function. + class should be usable as argument of member function. * g++.old-deja/g++.other/using6.C: New test; using decl from base - class should be usable as return type of member function. + class should be usable as return type of member function. * g++.old-deja/g++.other/using7.C: New test; using decl from base - class should be usable as type of data member. + class should be usable as type of data member. * g++.old-deja/g++.ns/extern1.C: Fix XFAIL mark. @@ -4336,14 +4342,14 @@ Thu Oct 8 19:14:05 1998 Nick Clifton matching of template brackets. * g++.old-deja/g++.other/using4.C: New test. Test using - declarations of methods from base classes. + declarations of methods from base classes. * g++.old-deja/g++.ns/extern1.C: New test. Extern declarations - within functions should introduce names into the innermost - enclosing namespace. + within functions should introduce names into the innermost + enclosing namespace. * g++.old-deja/g++.other/init7.C: New test. Retry initialization - of static locals if first initialization throws. + of static locals if first initialization throws. Wed Oct 7 12:00:20 1998 Jim Wilson @@ -4358,8 +4364,8 @@ Wed Oct 7 12:00:20 1998 Jim Wilson 1998-10-06 Alexandre Oliva * g++.old-deja/g++.pt/friend35.C: New test. A template function - must be declared before its specializations can be named in friend - declarations. + must be declared before its specializations can be named in friend + declarations. 1998-10-05 Dave Love @@ -4370,8 +4376,8 @@ Wed Oct 7 12:00:20 1998 Jim Wilson 1998-10-04 Alexandre Oliva * g++.old-deja/g++.pt/overload5.C: New test; initialize variable - with pointer to template function, for which no argument deduction - is possible. + with pointer to template function, for which no argument deduction + is possible. * g++.old-deja/g++.pt/overload4.C: New test; passing pointer to specialization of template function as argument to template @@ -4387,7 +4393,7 @@ Wed Oct 7 12:00:20 1998 Jim Wilson nested class of the same name. * g++.old-deja/g++.other/badopt1.C: New test; post-increment - is ignored. + is ignored. * g++.old-deja/g++.other/decl1.C: New test; incorrect parsing of object with direct initializer as function declaration. @@ -4396,10 +4402,10 @@ Wed Oct 7 12:00:20 1998 Jim Wilson initializers. * g++.old-deja/g++.other/null2.C: New test; conditional operator - involving const pointer and NULL produces incorrect result. + involving const pointer and NULL produces incorrect result. * g++.old-deja/g++.other/typename1.C: New test; template-dependent - type name without `typename' should be rejected with -pedantic. + type name without `typename' should be rejected with -pedantic. Fri Oct 2 21:55:58 1998 Richard Henderson @@ -4441,8 +4447,8 @@ Thu Oct 1 19:05:20 1998 Jeffrey A Law (law@cygnus.com) 1998-09-18 Alexandre Oliva * g++.old-deja/g++.other/nested2.C: Different virtual base classes - that happen to have the same base name, but in different scopes, - are incorrectly rejected. + that happen to have the same base name, but in different scopes, + are incorrectly rejected. 1998-09-16 Richard Henderson @@ -4452,7 +4458,7 @@ Thu Oct 1 19:05:20 1998 Jeffrey A Law (law@cygnus.com) 1998-09-15 Alexandre Oliva * g++.old-deja/g++.other/static2.C: Invocation of static data - member of type pointer-to-function denoted as non-static member. + member of type pointer-to-function denoted as non-static member. * g++.old-deja/g++.other/typedef5.C: Add some more tests involving checks involving function types and aliases. @@ -4460,19 +4466,19 @@ Thu Oct 1 19:05:20 1998 Jeffrey A Law (law@cygnus.com) 1998-09-12 Alexandre Oliva * g++.old-deja/g++.other/typedef5.C: Check whether typedefs can be - redefined to the same non-trivial type. + redefined to the same non-trivial type. * g++.old-deja/g++.pt/explicit73.C: Test for proper - namespace-qualification of template specializations declared in - other namespaces. + namespace-qualification of template specializations declared in + other namespaces. * g++.old-deja/g++.other/friend4.C: Check whether it is possible to declare a subset of the specializations of a template function as friends of specializations of a template class. * g++.old-deja/g++.pt/explicit71.C: Make sure specializations of - member templates that do not fully specialize the enclosing - template class are rejected. + member templates that do not fully specialize the enclosing + template class are rejected. 1998-09-11 Dave Love @@ -5011,8 +5017,8 @@ Fri Sep 26 10:50:53 1997 Bob Manson Fri Sep 19 17:19:53 1997 Bob Manson * lib/c-torture.exp (TORTURE_OPTIONS): Removed unnecessary - changes. Only test one -g option, and move it to the end of the - list of options to test. + changes. Only test one -g option, and move it to the end of the + list of options to test. Fri Sep 19 17:58:00 1997 Michael Meissner @@ -5061,10 +5067,10 @@ Wed Sep 3 17:29:35 1997 Bob Manson Wed Sep 3 17:15:00 1997 Bob Manson * lib/c-torture.exp(c-torture-execute): If the previous and the - current executables being tested are identical, we don't need to - run the executable again. Try to make the executable names - unique. Add an optional argument for passing additional compiler - flags. + current executables being tested are identical, we don't need to + run the executable again. Try to make the executable names + unique. Add an optional argument for passing additional compiler + flags. Tue Sep 2 16:34:31 1997 Doug Evans @@ -5163,7 +5169,7 @@ Thu May 1 14:49:19 1997 Bob Manson Thu Apr 10 14:50:26 1997 Bob Manson * lib/g++.exp(g++init): Don't try to be smart, always run g++_init - to completion when it's called. + to completion when it's called. Fri Mar 21 16:34:52 1997 Michael Meissner @@ -5212,7 +5218,7 @@ Wed Mar 12 10:01:33 1997 Jeffrey A Law (law@cygnus.com) Sun Feb 23 18:12:04 1997 Bob Manson * lib/gcc.exp(gcc_init): Add args parameter (which will contain - the name of the expect testcase file). + the name of the expect testcase file). * lib/g++.exp(g++_init): Ditto. @@ -5270,7 +5276,7 @@ Sat Feb 8 14:45:55 1997 Bob Manson Fri Feb 7 12:55:45 1997 Bob Manson * lib/old-dejagnu.exp: Use prune_warnings instead of - prune_system_crud. + prune_system_crud. * lib/mike-g++.exp: Ditto. * lib/gcc.exp: Ditto. * lib/g++.exp: Ditto. @@ -5306,7 +5312,7 @@ Sun Feb 2 14:42:34 1997 Bob Manson call to glob. * gcc.c-torture/special/special.exp: Change call to - gcc_target_compile to include the object file. + gcc_target_compile to include the object file. Sun Feb 2 17:11:50 1997 Ian Lance Taylor @@ -5316,7 +5322,7 @@ Sun Feb 2 17:11:50 1997 Ian Lance Taylor Sat Feb 1 12:34:23 1997 Bob Manson * lib/plumhall.exp(ph_summary): Log the entire output of the - executable. Return -1 if there were any failures, 0 otherwise. + executable. Return -1 if there were any failures, 0 otherwise. (ph_execute): Return -1 if there were any failures, 0 otherwise. (ph_make): Clean up objects and executables that were built if the tests succeeded. @@ -5424,18 +5430,18 @@ Sun Jun 30 14:37:50 1996 Doug Evans Wed Jun 26 14:15:55 1996 Bob Manson * lib/old-dejagnu.exp (old-dejagnu): Add $tmpdir to specify a - temporary directory for compiler files, and set it to a default - value of /tmp. Set $output as the name of the output file from - compiling the testcase. Add a -o option to $cflags_var so the - compiler writes the final output file as $output. Set $executable - to $output. + temporary directory for compiler files, and set it to a default + value of /tmp. Set $output as the name of the output file from + compiling the testcase. Add a -o option to $cflags_var so the + compiler writes the final output file as $output. Set $executable + to $output. * lib/mike-g++.exp (postbase): Add $tmpdir to specify a temporary - directory for compiler files, and set it to /tmp if it doesn't - already have a value. Set $output_file to the name of the output - file from compiling the testcase. Add a -o option to CXXFLAGS so - the compiler writes the final output file as $output. Use $output - as the executable to be tested. + directory for compiler files, and set it to /tmp if it doesn't + already have a value. Set $output_file to the name of the output + file from compiling the testcase. Add a -o option to CXXFLAGS so + the compiler writes the final output file as $output. Use $output + as the executable to be tested. Mon Jun 24 17:12:16 1996 Brendan Kehoe diff --git a/gcc/testsuite/gcc.dg/noreturn-3.c b/gcc/testsuite/gcc.dg/noreturn-3.c new file mode 100644 index 00000000000..3e727d25f4a --- /dev/null +++ b/gcc/testsuite/gcc.dg/noreturn-3.c @@ -0,0 +1,10 @@ +/* Check for no "noreturn" warning in main. */ +/* { dg-do compile } */ +/* { dg-options "-O2 -Wmissing-noreturn -fhosted" } */ +extern void exit (int) __attribute__ ((__noreturn__)); + +int +main (void) +{ + exit (0); +} diff --git a/gcc/testsuite/gcc.dg/noreturn-4.c b/gcc/testsuite/gcc.dg/noreturn-4.c new file mode 100644 index 00000000000..4a2de5f4200 --- /dev/null +++ b/gcc/testsuite/gcc.dg/noreturn-4.c @@ -0,0 +1,10 @@ +/* Check for "noreturn" warning in main. */ +/* { dg-do compile } */ +/* { dg-options "-O2 -Wmissing-noreturn -ffreestanding" } */ +extern void exit (int) __attribute__ ((__noreturn__)); + +int +main (void) +{ + exit (0); +} /* { dg-warning "warning: function might be possible candidate for attribute `noreturn'" "warn for main" } */ -- 2.30.2