This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/53256] [avr] Attribute 'interrupt' shall override attribute 'signal'
- From: "gjl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 09 May 2012 16:39:39 +0000
- Subject: [Bug target/53256] [avr] Attribute 'interrupt' shall override attribute 'signal'
- Auto-submitted: auto-generated
- References: <bug-53256-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53256
--- Comment #2 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2012-05-09 16:39:39 UTC ---
Author: gjl
Date: Wed May 9 16:39:33 2012
New Revision: 187343
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187343
Log:
Backport from 2012-05-12 mainline r187342.
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.
Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config/avr/avr-protos.h
branches/gcc-4_7-branch/gcc/config/avr/avr.c
branches/gcc-4_7-branch/gcc/config/avr/avr.h
branches/gcc-4_7-branch/gcc/config/avr/elf.h
branches/gcc-4_7-branch/gcc/doc/extend.texi