diff options
| -rw-r--r-- | gcc/ChangeLog | 11 | ||||
| -rw-r--r-- | gcc/config/sh/sh.c | 3 |
2 files changed, 9 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 286ac09..0c4afa9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,8 +1,11 @@ -Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com> +Thu Apr 3 17:57:59 2003 J"orn Rennecke <joern.rennecke@superh.com> - * Avoid clash of temp register for restoring target registers - with EH_RETURN_STACKADJ_RTX; use multiple registers in round-robin - fashion. + * sh.c (sh_function_ok_for_sibcall): Return 0 if the current + function is an interrupt handler. + + * sh.c (sh_expand_epilogue): Avoid clash of temp register for + restoring target registers with EH_RETURN_STACKADJ_RTX; use + multiple registers in round-robin fashion. 2003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index d81a82a..e4a55de 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -7934,7 +7934,8 @@ sh_function_ok_for_sibcall (decl, exp) { return (decl && (! TARGET_SHCOMPACT - || current_function_args_info.stack_regs == 0)); + || current_function_args_info.stack_regs == 0) + && ! sh_cfun_interrupt_handler_p ()); } /* Machine specific built-in functions. */ |
