aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJ"orn Rennecke <joern.rennecke@superh.com>2003-04-03 17:01:34 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2003-04-03 18:01:34 +0100
commit70aadfcca2af5113b7b9613ba6a0a60fe4ec5ef9 (patch)
treeb43048316c578be0959b02bb3b6ac9b19206f182 /gcc
parent8d3b0953482c3e696d4173a8de504c84e0304953 (diff)
downloadgcc-70aadfcca2af5113b7b9613ba6a0a60fe4ec5ef9.zip
gcc-70aadfcca2af5113b7b9613ba6a0a60fe4ec5ef9.tar.gz
gcc-70aadfcca2af5113b7b9613ba6a0a60fe4ec5ef9.tar.bz2
sh.c (sh_function_ok_for_sibcall): Return 0 if the current function is an interrupt handler.
* sh.c (sh_function_ok_for_sibcall): Return 0 if the current function is an interrupt handler. From-SVN: r65204
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/sh/sh.c3
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. */