From 175aed004525c485193d7fed4991a4588846fd79 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 10 Jul 2012 11:48:00 +0000 Subject: [PATCH] re PR bootstrap/53913 (resource.c:1179:5: error: 'current_function_decl' undeclared broke m68k bootstrap) PR bootstrap/53913 * config/m68k/m68k.c (m68k_epilogue_uses): New. * config/m68k/m68k.h (EPILOGUE_USES): Use it. * config/m68k/m68k-protos.h (m68k_epilogue_uses): Add prototype. From-SVN: r189410 --- gcc/ChangeLog | 7 +++++++ gcc/config/m68k/m68k-protos.h | 3 ++- gcc/config/m68k/m68k.c | 10 ++++++++++ gcc/config/m68k/m68k.h | 6 +----- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8d0584764c6..c5ebfd5222f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2012-07-10 Andreas Schwab + + PR bootstrap/53913 + * config/m68k/m68k.c (m68k_epilogue_uses): New. + * config/m68k/m68k.h (EPILOGUE_USES): Use it. + * config/m68k/m68k-protos.h (m68k_epilogue_uses): Add prototype. + 2012-07-10 Richard Henderson * target.def (builtin_mul_widen_even, builtin_mul_widen_odd): Remove. diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h index c77958812dc..a6b5dee1817 100644 --- a/gcc/config/m68k/m68k-protos.h +++ b/gcc/config/m68k/m68k-protos.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Sun 68000/68020 version. - Copyright (C) 2000, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + Copyright (C) 2000, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc. This file is part of GCC. @@ -68,6 +68,7 @@ extern int emit_move_sequence (rtx *, enum machine_mode, rtx); extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool); extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool); extern void m68k_final_prescan_insn (rtx, rtx *, int); +extern bool m68k_epilogue_uses (int); /* Functions from m68k.c used in constraints.md. */ extern rtx m68k_unwrap_symbol (rtx, bool); diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index df705602baa..0e55e1c2309 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -6506,4 +6506,14 @@ m68k_init_sync_libfuncs (void) init_sync_libfuncs (UNITS_PER_WORD); } +/* Implements EPILOGUE_USES. All registers are live on exit from an + interrupt routine. */ +bool +m68k_epilogue_uses (int regno ATTRIBUTE_UNUSED) +{ + return (reload_completed + && (m68k_get_function_kind (current_function_decl) + == m68k_fk_interrupt_handler)); +} + #include "gt-m68k.h" diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index b8d8d9ce922..8be0879e282 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -802,11 +802,7 @@ do { if (cc_prev_status.flags & CC_IN_68881) \ /* Before the prologue, the top of the frame is at 4(%sp). */ #define INCOMING_FRAME_SP_OFFSET 4 -/* All registers are live on exit from an interrupt routine. */ -#define EPILOGUE_USES(REGNO) \ - (reload_completed \ - && (m68k_get_function_kind (current_function_decl) \ - == m68k_fk_interrupt_handler)) +#define EPILOGUE_USES(REGNO) m68k_epilogue_uses (REGNO) /* Describe how we implement __builtin_eh_return. */ #define EH_RETURN_DATA_REGNO(N) \ -- 2.30.2