summaryrefslogtreecommitdiff
path: root/gcc/config/stormy16/stormy16.c
diff options
context:
space:
mode:
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-15 10:39:18 +0000
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-15 10:39:18 +0000
commitdd79b8f59a3ea22e7ddae25ee37fedd07173771f (patch)
treeee2bf3af04d830d7fb9c1a6b0f0fa0314fbfe1b4 /gcc/config/stormy16/stormy16.c
parenta06d603d291b2ea7107110392e81bb545d268f3f (diff)
downloadgcc-dd79b8f59a3ea22e7ddae25ee37fedd07173771f.tar.gz
* config/stormy16/stormy16.c (direct_return): Do not generate a
direct return for interrupt handlers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166748 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/stormy16/stormy16.c')
-rw-r--r--gcc/config/stormy16/stormy16.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c
index 86a5caae147..ce83f683d39 100644
--- a/gcc/config/stormy16/stormy16.c
+++ b/gcc/config/stormy16/stormy16.c
@@ -1175,7 +1175,8 @@ int
direct_return (void)
{
return (reload_completed
- && xstormy16_compute_stack_layout ().frame_size == 0);
+ && xstormy16_compute_stack_layout ().frame_size == 0
+ && ! xstormy16_interrupt_function_p ());
}
/* Called after register allocation to add any instructions needed for