From 25b9575bc2665d873a16ddc30e7829bcdadf4dec Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Wed, 27 Apr 2005 17:02:34 +0000 Subject: [PATCH] fp-bit.c (abort): Add noreturn attribute. * config/fp-bit.c (abort): Add noreturn attribute. * config/avr/avr.c (avr_naked_function_p): Use gcc_assert and gcc_unreachable as appropriate. (ptrreg_to_str, cond_string, avr_normalize_condition): Likewise. * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise. From-SVN: r98854 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/avr/avr.c | 9 ++++----- gcc/config/avr/avr.h | 6 ++---- gcc/config/fp-bit.c | 2 +- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2f0dfcb6d9af..a7ef1e3d3485 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2005-04-27 Nathan Sidwell + + * config/fp-bit.c (abort): Add noreturn attribute. + + * config/avr/avr.c (avr_naked_function_p): Use gcc_assert and + gcc_unreachable as appropriate. + (ptrreg_to_str, cond_string, avr_normalize_condition): Likewise. + * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, + ASM_OUTPUT_REG_POP): Likewise. + 2005-04-27 Paolo Bonzini * tree-complex.c (expand_vector_operations_1): Do not build diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index bc51d9181c20..668d4cc6a2b3 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -380,8 +380,7 @@ avr_naked_function_p (tree func) { tree a; - if (TREE_CODE (func) != FUNCTION_DECL) - abort (); + gcc_assert (TREE_CODE (func) == FUNCTION_DECL); a = lookup_attribute ("naked", DECL_ATTRIBUTES (func)); return a != NULL_TREE; @@ -1030,7 +1029,7 @@ ptrreg_to_str (int regno) case REG_Y: return "Y"; case REG_Z: return "Z"; default: - abort (); + gcc_unreachable (); } return NULL; } @@ -1062,7 +1061,7 @@ cond_string (enum rtx_code code) case LTU: return "lo"; default: - abort (); + gcc_unreachable (); } } @@ -5534,7 +5533,7 @@ avr_normalize_condition (RTX_CODE condition) case LEU: return LTU; default: - abort (); + gcc_unreachable (); } } diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h index e0a9c75dcad4..5b7c73dfac69 100644 --- a/gcc/config/avr/avr.h +++ b/gcc/config/avr/avr.h @@ -668,15 +668,13 @@ sprintf (STRING, "*.%s%lu", PREFIX, (unsigned long)(NUM)) #define ASM_OUTPUT_REG_PUSH(STREAM, REGNO) \ { \ - if (REGNO > 31) \ - abort (); \ + gcc_assert (REGNO < 32); \ fprintf (STREAM, "\tpush\tr%d", REGNO); \ } #define ASM_OUTPUT_REG_POP(STREAM, REGNO) \ { \ - if (REGNO > 31) \ - abort (); \ + gcc_assert (REGNO < 32); \ fprintf (STREAM, "\tpop\tr%d", REGNO); \ } diff --git a/gcc/config/fp-bit.c b/gcc/config/fp-bit.c index 795e67ad36a9..1229bf7e6b8b 100644 --- a/gcc/config/fp-bit.c +++ b/gcc/config/fp-bit.c @@ -81,7 +81,7 @@ Boston, MA 02111-1307, USA. */ #endif #ifdef EXTENDED_FLOAT_STUBS -extern void abort (void); +extern __attribute__ ((__noreturn__)) void abort (void); void __extendsfxf2 (void) { abort(); } void __extenddfxf2 (void) { abort(); } void __truncxfdf2 (void) { abort(); } -- 2.43.5