diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/msp430/msp430.c | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b2ce686..c793380 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-05-23 Jozef Lawrynowicz <jozef.l@mittosystems.com> + + * config/msp430/msp430.c (TARGET_WARN_FUNC_RETURN): Define. + (msp430_warn_func_return): New. + 2018-05-24 Roger Sayle <roger@nextmovesoftware.com> * fold-const.c (tree_nonzero_bits): New function. 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) |