Add ATTRIBUTE_NORETURN in a bunch of places:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Wed, 14 Oct 1998 10:37:09 +0000 (10:37 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Wed, 14 Oct 1998 10:37:09 +0000 (10:37 +0000)
* cppalloc.c (memory_full): Mark function prototype with
ATTRIBUTE_NORETURN.
* demangle.h (collect_exit): Likewise.
* fix-header.c (v_fatal, fatal): Likewise.
* gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
Likewise.
* gcov.c (print_usage): Likewise.
* genattr.c (fatal, fancy_abort): Likewise.
* genattrtab.c (fatal, fancy_abort): Likewise.
* gencodes.c (fatal, fancy_abort): Likewise.
* genconfig.c (fatal, fancy_abort): Likewise.
* genemit.c (fatal, fancy_abort): Likewise.
* genextract.c (fatal, fancy_abort): Likewise.
* genflags.c (fatal, fancy_abort): Likewise.
* genopinit.c (fatal, fancy_abort): Likewise.
* genoutput.c (fatal, fancy_abort): Likewise.
* genpeep.c (fatal, fancy_abort): Likewise.
* genrecog.c (fatal, fancy_abort): Likewise.
* libgcc2.c (__eprintf, __default_terminate, __sjthrow,
__sjpopnthrow, __throw): Likewise.
* objc/objc-act.c (objc_fatal): Likewise.
* protoize.c (usage, aux_info_corrupted,
declare_source_confusing): Likewise.
* rtl.c (dump_and_abort): Likewise.
* rtl.h (sets_cc0_p): Likewise.
* toplev.c (float_signal, pipe_closed): Likewise.

From-SVN: r23084

23 files changed:
gcc/ChangeLog
gcc/cppalloc.c
gcc/demangle.h
gcc/fix-header.c
gcc/gcc.c
gcc/gcov.c
gcc/genattr.c
gcc/genattrtab.c
gcc/gencodes.c
gcc/genconfig.c
gcc/genemit.c
gcc/genextract.c
gcc/genflags.c
gcc/genopinit.c
gcc/genoutput.c
gcc/genpeep.c
gcc/genrecog.c
gcc/libgcc2.c
gcc/objc/objc-act.c
gcc/protoize.c
gcc/rtl.c
gcc/rtl.h
gcc/toplev.c

index c568676246483fdbbee1a26bab8bef78df92d918..3fa3e53946fecc0d8b723580d29c2e80a3ed2c3d 100644 (file)
@@ -1,3 +1,53 @@
+Wed Oct 14 13:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cppalloc.c (memory_full): Mark function prototype with
+       ATTRIBUTE_NORETURN.
+
+       * demangle.h (collect_exit): Likewise.
+
+       * fix-header.c (v_fatal, fatal): Likewise.
+
+       * gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
+       Likewise.
+
+       * gcov.c (print_usage): Likewise.
+
+       * genattr.c (fatal, fancy_abort): Likewise.
+
+       * genattrtab.c (fatal, fancy_abort): Likewise.
+
+       * gencodes.c (fatal, fancy_abort): Likewise.
+
+       * genconfig.c (fatal, fancy_abort): Likewise.
+
+       * genemit.c (fatal, fancy_abort): Likewise.
+
+       * genextract.c (fatal, fancy_abort): Likewise.
+
+       * genflags.c (fatal, fancy_abort): Likewise.
+
+       * genopinit.c (fatal, fancy_abort): Likewise.
+
+       * genoutput.c (fatal, fancy_abort): Likewise.
+
+       * genpeep.c (fatal, fancy_abort): Likewise.
+
+       * genrecog.c (fatal, fancy_abort): Likewise.
+
+       * libgcc2.c (__eprintf, __default_terminate, __sjthrow,
+       __sjpopnthrow, __throw): Likewise.
+
+       * objc/objc-act.c (objc_fatal): Likewise.
+
+       * protoize.c (usage, aux_info_corrupted,
+       declare_source_confusing): Likewise.
+
+       * rtl.c (dump_and_abort): Likewise.
+
+       * rtl.h (sets_cc0_p): Likewise.
+
+       * toplev.c (float_signal, pipe_closed): Likewise.
+       
 1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
        * dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
index bd3a6051971610cb8caaba78db6ccddc72edd3fb..8f77cc7025b828f8b1984f35bc49c659a1d5a000 100644 (file)
@@ -27,6 +27,8 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 #include "gansidecl.h"
 #include "cpplib.h"
 
+static void memory_full PROTO ((void)) ATTRIBUTE_NORETURN;
+
 static void
 memory_full ()
 {
index 1e1e705512ac220ea5bb278f99e164b57cdfb59e..9fdd80df95efe57d7933056b908de421f7298b6e 100644 (file)
@@ -94,7 +94,7 @@ extern void
 collect_execute PARAMS ((char *, char **, char *));
 
 extern void
-collect_exit PARAMS ((int));
+collect_exit PARAMS ((int)) ATTRIBUTE_NORETURN;
 
 extern int
 collect_wait PARAMS ((char *));
index 698c69de80b96fb668d472957cd479408ee11a99..ffeede58362e78ce41a843fbc5cd39a01035e687 100644 (file)
@@ -78,7 +78,8 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #include "cpplib.h"
 #include "cpphash.h"
 
-void fatal PVPROTO ((const char *, ...)) ATTRIBUTE_PRINTF_1;
+static void v_fatal PROTO ((const char *, va_list)) ATTRIBUTE_NORETURN;
+void fatal PVPROTO ((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
 
 sstring buf;
 
index b9740129884587535e2df810b7fdc7abc8ff6910..47a2362682dd857c23aa8fa54a7f8c8039863907 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -235,14 +235,14 @@ static int used_arg               PROTO((char *, int));
 static int default_arg         PROTO((char *, int));
 static void set_multilib_dir   PROTO((void));
 static void print_multilib_info        PROTO((void));
-static void pfatal_with_name   PROTO((char *));
+static void pfatal_with_name   PROTO((char *)) ATTRIBUTE_NORETURN;
 static void perror_with_name   PROTO((char *));
-static void pfatal_pexecute    PROTO((char *, char *));
-static void fatal              PVPROTO((char *, ...));
+static void pfatal_pexecute    PROTO((char *, char *)) ATTRIBUTE_NORETURN;
+static void fatal              PVPROTO((char *, ...)) ATTRIBUTE_NORETURN;
 static void error              PVPROTO((char *, ...));
 static void display_help       PROTO((void));
 
-void fancy_abort ();
+void fancy_abort               PROTO((void)) ATTRIBUTE_NORETURN;
 char *xmalloc ();
 char *xrealloc ();
 
index 4fecf0012eb15c1dd18e3648efceca10312879ea..bbf91127f4318d6c7aa76cea00d65104413c1a36 100644 (file)
@@ -218,7 +218,7 @@ static void open_files PROTO ((void));
 static void read_files PROTO ((void));
 static void scan_for_source_files PROTO ((void));
 static void output_data PROTO ((void));
-static void print_usage PROTO ((void));
+static void print_usage PROTO ((void)) ATTRIBUTE_NORETURN;
 char * xmalloc ();
 
 int
index 191e27486c5180e276aaf5d19e1f5251e986b18d..9c062b5d1123fcfc27f6d456c0a0cc432d5d561c 100644 (file)
@@ -32,8 +32,9 @@ struct obstack *rtl_obstack = &obstack;
 #define obstack_chunk_free free
 
 char *xmalloc PROTO((unsigned));
-static void fatal PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
-void fancy_abort PROTO((void));
+static void fatal PVPROTO ((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN;
 
 /* Define this so we can link with print-rtl.o to get debug_rtx function.  */
 char **insn_name_ptr = 0;
index 40bb38ba03c2bc2767d0926a0520f20052d8b013..593fb26da145973b4c2952782acde23797ac2387 100644 (file)
@@ -119,8 +119,9 @@ struct obstack *temp_obstack = &obstack2;
 /* Define this so we can link with print-rtl.o to get debug_rtx function.  */
 char **insn_name_ptr = 0;
 
-static void fatal PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
-void fancy_abort PROTO((void));
+static void fatal PVPROTO ((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN;
 
 /* enough space to reserve for printing out ints */
 #define MAX_DIGITS (HOST_BITS_PER_INT * 3 / 10 + 3)
index 725cc651e692d0082030660becbdbb2665c39ad7..429e4635f4dba671c74941804a050e034ee3cc2f 100644 (file)
@@ -34,8 +34,9 @@ struct obstack *rtl_obstack = &obstack;
 #define obstack_chunk_free free
 
 char *xmalloc PROTO((unsigned));
-static void fatal PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
-void fancy_abort PROTO((void));
+static void fatal PVPROTO ((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN;
 
 /* Define this so we can link with print-rtl.o to get debug_rtx function.  */
 char **insn_name_ptr = 0;
index 75693c1fb65d8ee682a9d006c52e563522bb20d9..3e070a99f9c25d02e98af7a9ee66040cc0ad25e8 100644 (file)
@@ -50,8 +50,9 @@ static int clobbers_seen_this_insn;
 static int dup_operands_seen_this_insn;
 
 char *xmalloc PROTO((unsigned));
-static void fatal PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
-void fancy_abort PROTO((void));
+static void fatal PVPROTO ((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN;
 
 static void walk_insn_part PROTO((rtx, int, int));
 static void gen_insn PROTO((rtx));
index d13ff5e35b2c82c2c343abf50ff2f35edd7195b0..c9e2836cc5aac8478dac92d30360e2ee2179f525 100644 (file)
@@ -31,8 +31,9 @@ struct obstack *rtl_obstack = &obstack;
 #define obstack_chunk_free free
 
 char *xmalloc PROTO((unsigned));
-static void fatal PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
-void fancy_abort PROTO((void));
+static void fatal PVPROTO ((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN;
 
 /* Define this so we can link with print-rtl.o to get debug_rtx function.  */
 char **insn_name_ptr = 0;
index 6b64077c026be0159690df63b6c5aef24102eef2..991d1d0a5e5861b44b6b6278b8fb73835f25683c 100644 (file)
@@ -100,10 +100,11 @@ static void walk_rtx PROTO ((rtx, char *));
 static void print_path PROTO ((char *));
 char *xmalloc PROTO ((unsigned));
 char *xrealloc PROTO ((char *, unsigned));
-static void fatal PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
+static void fatal PVPROTO ((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
 static char *copystr PROTO ((char *));
 static void mybzero ();
-void fancy_abort PROTO ((void));
+void fancy_abort PROTO ((void)) ATTRIBUTE_NORETURN;
 \f
 static void
 gen_insn (insn)
index dee8128a9c2222534602ec343e1606390f086cc6..c9214abdc9cda1586ecf5b027f7ee8cd1c8e85a2 100644 (file)
@@ -34,8 +34,9 @@ struct obstack *rtl_obstack = &obstack;
 #define obstack_chunk_free free
 
 char *xmalloc PROTO((unsigned));
-static void fatal PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
-void fancy_abort PROTO((void));
+static void fatal PVPROTO ((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN;
 
 /* Names for patterns.  Need to allow linking with print-rtl.  */
 char **insn_name_ptr;
index f0b57bb9be9bec41812b6286c4869112b34c0814..c8d7859e9785f7aec20156428e7f94280a4d53e7 100644 (file)
@@ -31,8 +31,9 @@ struct obstack *rtl_obstack = &obstack;
 #define obstack_chunk_free free
 
 char *xmalloc PROTO((unsigned));
-static void fatal PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
-void fancy_abort PROTO((void));
+static void fatal PVPROTO ((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN;
 
 /* Many parts of GCC use arrays that are indexed by machine mode and
    contain the insn codes for pattern in the MD file that perform a given
index 400a8be442b4212a955ad659ca079c1e7f8283a3..89a37df080ac8b9b32a6d9928d3fdea65b59b2aa 100644 (file)
@@ -108,8 +108,9 @@ struct obstack *rtl_obstack = &obstack;
 #define obstack_chunk_free free
 
 char *xmalloc PROTO((unsigned));
-static void fatal PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
-void fancy_abort PROTO((void));
+static void fatal PVPROTO ((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN;
 static void error PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
 static void mybcopy ();
 static void mybzero ();
index 99fcec54ce5c58b71d5b9316056896eaa15555c3..076f7603560c3448d086804e3d9e8eabd0a51b06 100644 (file)
@@ -47,8 +47,9 @@ struct link
 };
 
 char *xmalloc PROTO((unsigned));
-static void fatal PVPROTO ((char *, ...)) ATTRIBUTE_PRINTF_1;
-void fancy_abort PROTO((void));
+static void fatal PVPROTO ((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN;
 
 static int max_opno;
 
index 6ea513c65474dc35acc7ec8e0398ff63a079e771..5c1046a6b24bd0c60b0aedea43abed75a3943cc6 100644 (file)
@@ -191,10 +191,11 @@ static void change_state  PROTO((char *, char *, int));
 static char *copystr           PROTO((char *));
 static void mybzero            PROTO((char *, unsigned));
 static void mybcopy            PROTO((char *, char *, unsigned));
-static void fatal              PVPROTO((char *, ...)) ATTRIBUTE_PRINTF_1;
+static void fatal              PVPROTO((char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
 char *xrealloc                 PROTO((char *, unsigned));
 char *xmalloc                  PROTO((unsigned));
-void fancy_abort               PROTO((void));
+void fancy_abort               PROTO((void)) ATTRIBUTE_NORETURN;
 \f
 /* Construct and return a sequence of decisions
    that will recognize INSN.
index 586aa2c7a6d92e5ba24fc51a5febc861f92bc056..09e3c7143ea7d0ff9b8ab6fc010c84b39d1a2c7e 100644 (file)
@@ -1403,6 +1403,9 @@ __builtin_saveregs ()
 #undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch.  */
 #include <stdio.h>
 /* This is used by the `assert' macro.  */
+extern void __eprintf (const char *, const char *, unsigned int, const char *)
+  __attribute__ ((__noreturn__));
+
 void
 __eprintf (const char *string, const char *expression,
           unsigned int line, const char *filename)
@@ -3023,6 +3026,8 @@ int atexit (func_ptr func)
 
 /* Shared exception handling support routines.  */
 
+extern void __default_terminate (void) __attribute__ ((__noreturn__));
+
 void
 __default_terminate ()
 {
@@ -3226,6 +3231,8 @@ __get_dynamic_handler_chain ()
    dynamic handler chain, and use longjmp to transfer back to the associated
    handler.  */
 
+extern void __sjthrow (void) __attribute__ ((__noreturn__));
+
 void
 __sjthrow ()
 {
@@ -3302,6 +3309,8 @@ __sjthrow ()
    then throw.  This is used to skip the first handler, and transfer
    control to the next handler in the dynamic handler stack.  */
 
+extern void __sjpopnthrow (void) __attribute__ ((__noreturn__));
+
 void
 __sjpopnthrow ()
 {
@@ -3628,6 +3637,8 @@ next_stack_level (void *pc, frame_state *udata, frame_state *caller_udata)
    If we find one, then we unwind the frames down to the one that
    has the handler and transfer control into the handler.  */
 
+extern void __throw(void) __attribute__ ((__noreturn__));
+
 void
 __throw ()
 {
index 94c10bcd229941b10dcb1726e6adff5ddedd732e..9f8bc51a21a409c3108da1d0969547431dcd5385 100644 (file)
@@ -284,7 +284,8 @@ static void dump_interface                  PROTO((FILE *, tree));
 
 /* Everything else.  */
 
-static void objc_fatal                         PROTO((void));
+static void objc_fatal                         PROTO((void))
+  ATTRIBUTE_NORETURN;
 static tree define_decl                                PROTO((tree, tree));
 static tree lookup_method_in_protocol_list     PROTO((tree, tree, int));
 static tree lookup_protocol_in_reflist         PROTO((tree, tree));
index 73d8caba3903ab95fa50394abd83155f7a346e38..3ba8b96be8b59c068d54858277b9f40e32d3a384 100644 (file)
@@ -121,6 +121,10 @@ extern int pwait PROTO ((int, int *, int));
 #define PEXECUTE_LAST   2
 #define PEXECUTE_SEARCH 4
 
+static void usage PROTO ((void)) ATTRIBUTE_NORETURN;
+static void aux_info_corrupted PROTO ((void)) ATTRIBUTE_NORETURN;
+static void declare_source_confusing PROTO ((const char *)) ATTRIBUTE_NORETURN;
+
 /* Aliases for pointers to void.
    These were made to facilitate compilation with old brain-dead DEC C
    compilers which didn't properly grok `void*' types.  */
index 1929459a8fff3242db74be92802fa1d84f0ddaa8..2201c408d33224d230ee51dc9bc2dcca31225a32 100644 (file)
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -195,7 +195,7 @@ char *reg_note_name[] = { "", "REG_DEAD", "REG_INC", "REG_EQUIV", "REG_WAS_0",
                          "REG_BR_PRED", "REG_EH_CONTEXT",
                          "REG_FRAME_RELATED_EXPR" };
 
-static void dump_and_abort     PROTO((int, int, FILE *));
+static void dump_and_abort     PROTO((int, int, FILE *)) ATTRIBUTE_NORETURN;
 static void read_name          PROTO((char *, FILE *));
 \f
 /* Allocate an rtx vector of N elements.
index 3c78edc4277e256cf25942d5bb851b36007d1fe9..7a0259305c347718df98c9cd434e27d396b6477c 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1242,7 +1242,11 @@ extern void cse_end_of_basic_block       PROTO ((rtx,
 extern int comparison_dominates_p      PROTO ((enum rtx_code, enum rtx_code));
 extern int condjump_p                  PROTO ((rtx));
 extern int simplejump_p                        PROTO ((rtx));
-extern int sets_cc0_p                  PROTO ((rtx));
+extern int sets_cc0_p                  PROTO ((rtx))
+#ifndef HAVE_cc0
+  ATTRIBUTE_NORETURN
+#endif
+  ;
 extern int invert_jump                 PROTO ((rtx, rtx));
 extern int rtx_renumbered_equal_p      PROTO ((rtx, rtx));
 extern int true_regnum                 PROTO ((rtx));
index 8e777b18ccced3c88522fabc5ee9ea3f888b5d9a..23428abbf6b707ae54bf074edd9dea6f2ee7df90 100644 (file)
@@ -195,8 +195,8 @@ static void v_pedwarn_with_decl PROTO((tree, char *, va_list));
 static void v_pedwarn_with_file_and_line PROTO((char *, int, char *, va_list));
 static void vsorry PROTO((char *, va_list));
 static void v_really_sorry PROTO((char *, va_list)) ATTRIBUTE_NORETURN;
-static void float_signal PROTO((int));
-static void pipe_closed PROTO((int));
+static void float_signal PROTO((int)) ATTRIBUTE_NORETURN;
+static void pipe_closed PROTO((int)) ATTRIBUTE_NORETURN;
 static void output_lang_identify PROTO((FILE *));
 static void open_dump_file PROTO((char *, char *));
 static void close_dump_file PROTO((void (*) (FILE *, rtx), rtx));