aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/avr/avr.h
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2012-05-09 16:28:53 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2012-05-09 16:28:53 +0000
commiteac188c5bcb1ed4f3fd61de2de2590dece32be2b (patch)
tree14aca0a603bf73054927ff0215465c4416a351f4 /gcc/config/avr/avr.h
parent5b0d38e4e3934555341427ccd7217be0738f89b2 (diff)
downloadgcc-eac188c5bcb1ed4f3fd61de2de2590dece32be2b.zip
gcc-eac188c5bcb1ed4f3fd61de2de2590dece32be2b.tar.gz
gcc-eac188c5bcb1ed4f3fd61de2de2590dece32be2b.tar.bz2
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
Diffstat (limited to 'gcc/config/avr/avr.h')
-rw-r--r--gcc/config/avr/avr.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index ef98a91..dfbd071 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -707,6 +707,10 @@ struct GTY(()) machine_function
/* 'true' if a callee might be tail called */
int sibcall_fails;
+
+ /* 'true' if the above is_foo predicates are sanity-checked to avoid
+ multiple diagnose for the same function. */
+ int attributes_checked_p;
};
/* AVR does not round pushes, but the existance of this macro is