re PR target/53256 ([avr] Attribute 'interrupt' shall override attribute 'signal')
authorGeorg-Johann Lay <avr@gjlay.de>
Wed, 9 May 2012 16:28:53 +0000 (16:28 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Wed, 9 May 2012 16:28:53 +0000 (16:28 +0000)
commiteac188c5bcb1ed4f3fd61de2de2590dece32be2b
tree14aca0a603bf73054927ff0215465c4416a351f4
parent5b0d38e4e3934555341427ccd7217be0738f89b2
re PR target/53256 ([avr] Attribute 'interrupt' shall override attribute 'signal')

PR target/53256
* config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
* config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
* config/avr/avr.h (struct machine_function): Add attributes_checked_p.
* config/avr/avr.c (avr_asm_declare_function_name): Remove.
(expand_prologue): Move initialization of cfun->machine->is_naked,
is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
(avr_set_current_function): ...this new static function.
(TARGET_SET_CURRENT_FUNCTION): New define.
(avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
checking attributes of current_function_decl.
(avr_regs_to_save): Ditto.
(signal_function_p): Rename to avr_signal_function_p.
(interrupt_function_p): Rename to avr_interrupt_function_p.
* doc/extend.texi (Function Attributes): Better explanation of
'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
alphabetical order.

From-SVN: r187342
gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.h
gcc/config/avr/elf.h
gcc/doc/extend.texi