From 6db2e6e8fe8d3c50eb3d1c55e536de5f8af91ea0 Mon Sep 17 00:00:00 2001 From: gjl Date: Mon, 1 Aug 2011 15:35:45 +0000 Subject: * config/avr/avr.h (mcu_type_s): Add errata_skip field. * config/avr/avr-devices.c (avr_mcu_types): Use it. * config/avr/avr-mcus.def (AVR_MCU): Use it. * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it to builtin define __AVR_ERRATA_SKIP__ and __AVR_ERRATA_SKIP_JMP_CALL__. * config/avr/libgcc.S (__mulshisi3, __ffshi2, __fmulsu_exit): Use __AVR_ERRATA_SKIP_JMP_CALL__ instead of __AVR_HAVE_JMP_CALL__ to detect if XJMP must not be skipped. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177049 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/avr/avr-c.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gcc/config/avr/avr-c.c') diff --git a/gcc/config/avr/avr-c.c b/gcc/config/avr/avr-c.c index aa1a51e538b..abe25ab590e 100644 --- a/gcc/config/avr/avr-c.c +++ b/gcc/config/avr/avr-c.c @@ -82,6 +82,14 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile) if (TARGET_NO_INTERRUPTS) cpp_define (pfile, "__NO_INTERRUPTS__"); + if (avr_current_device->errata_skip) + { + cpp_define (pfile, "__AVR_ERRATA_SKIP__"); + + if (avr_current_arch->have_jmp_call) + cpp_define (pfile, "__AVR_ERRATA_SKIP_JMP_CALL__"); + } + /* Define builtin macros so that the user can easily query if or if not a specific builtin is available. */ -- cgit v1.2.1