diff options
author | jye2 <jye2@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-19 08:28:08 +0000 |
---|---|---|
committer | jye2 <jye2@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-19 08:28:08 +0000 |
commit | de98d72103464068aa59a83859a48e478478174e (patch) | |
tree | 8281e26538384c97a1c8906992dce3cbfd1ca615 /gcc/config/arm | |
parent | 70f21cc044a3ecb7a07852ffb26ed45b397f5487 (diff) | |
download | gcc-de98d72103464068aa59a83859a48e478478174e.tar.gz |
PR target/49437
* config/arm/arm.c (arm_output_epilogue): Properly handle epilogue
when stack was realigned in interrupt handler prologue.
testsuite:
PR target/49437
* gcc.target/arm/handler-align.c: New test.
* lib/target-supports.exp (check_effective_target_arm_cortex_m):
New Function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177891 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm')
-rw-r--r-- | gcc/config/arm/arm.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index d1a349049f8..3162b30582e 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -15230,6 +15230,7 @@ arm_output_epilogue (rtx sibling) && !crtl->calls_eh_return && bit_count(saved_regs_mask) * 4 == count && !IS_INTERRUPT (func_type) + && !IS_STACKALIGN (func_type) && !crtl->tail_call_emit) { unsigned long mask; |