aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68k
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-07-10 11:48:00 +0000
committerAndreas Schwab <schwab@gcc.gnu.org>2012-07-10 11:48:00 +0000
commit175aed004525c485193d7fed4991a4588846fd79 (patch)
tree83ab5660032743de079b7fa294956e3d98bd009f /gcc/config/m68k
parent30a7bac96d207827916e549718cd1157fe9dbf9a (diff)
downloadgcc-175aed004525c485193d7fed4991a4588846fd79.zip
gcc-175aed004525c485193d7fed4991a4588846fd79.tar.gz
gcc-175aed004525c485193d7fed4991a4588846fd79.tar.bz2
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
Diffstat (limited to 'gcc/config/m68k')
-rw-r--r--gcc/config/m68k/m68k-protos.h3
-rw-r--r--gcc/config/m68k/m68k.c10
-rw-r--r--gcc/config/m68k/m68k.h6
3 files changed, 13 insertions, 6 deletions
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
index c779588..a6b5dee 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 df70560..0e55e1c 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 b8d8d9c..8be0879 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) \