aboutsummaryrefslogtreecommitdiff
path: root/gcc/libgcc2.c
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>1998-10-14 10:37:09 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>1998-10-14 10:37:09 +0000
commitbf94d1ecc773351392f54859e697f557ba097ed8 (patch)
tree45dc8fa31accc97f689780edab32eb15d9b3b9f0 /gcc/libgcc2.c
parentc9ab1458499b9a3e3fcb398cf29e3349e775ee9b (diff)
downloadgcc-bf94d1ecc773351392f54859e697f557ba097ed8.zip
gcc-bf94d1ecc773351392f54859e697f557ba097ed8.tar.gz
gcc-bf94d1ecc773351392f54859e697f557ba097ed8.tar.bz2
Add ATTRIBUTE_NORETURN in a bunch of places:
* 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
Diffstat (limited to 'gcc/libgcc2.c')
-rw-r--r--gcc/libgcc2.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index 586aa2c..09e3c71 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -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 ()
{