diff options
Diffstat (limited to 'gcc/config/msp430/msp430.c')
-rw-r--r-- | gcc/config/msp430/msp430.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c index a8fed12..adde597 100644 --- a/gcc/config/msp430/msp430.c +++ b/gcc/config/msp430/msp430.c @@ -1855,6 +1855,17 @@ msp430_allocate_stack_slots_for_args (void) return ! is_naked_func (); } +#undef TARGET_WARN_FUNC_RETURN +#define TARGET_WARN_FUNC_RETURN msp430_warn_func_return + +static bool +msp430_warn_func_return (tree decl) +{ + /* Naked functions are implemented entirely in assembly, including the + return sequence, so suppress warnings about this. */ + return !is_naked_func (decl); +} + /* Verify MSP430 specific attributes. */ #define TREE_NAME_EQ(NAME, STR) (strcmp (IDENTIFIER_POINTER (NAME), (STR)) == 0) |