AVR-LibC's setjmp preserves the callee-saved regs, hence let
TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P return true.
Ok for trunk?

Johann

--

AVR: AVR-LibC's setjmp preserves callee-saved regs.

gcc/
        * config/avr/avr.cc (TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P)
        Return true when WITH_AVRLIBC.

diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index 52e63cdff89..b0e9d9000e4 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -16967,6 +16967,11 @@ avr_unwind_word_mode ()
 #undef TARGET_C_MODE_FOR_FLOATING_TYPE
 #define TARGET_C_MODE_FOR_FLOATING_TYPE avr_c_mode_for_floating_type

+#if defined WITH_AVRLIBC
+#undef  TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P
+#define TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P hook_bool_void_true
+#endif // WITH_AVRLIBC
+
 gcc_target targetm = TARGET_INITIALIZER;

 ^L

Reply via email to