aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/alpha
diff options
context:
space:
mode:
authorBrendan Kehoe <brendan@gcc.gnu.org>1995-04-15 12:12:24 -0400
committerBrendan Kehoe <brendan@gcc.gnu.org>1995-04-15 12:12:24 -0400
commitd10851800245ec8f9241a477e8084e9f20c0f558 (patch)
treef1349e2b4fb346aca6369be43eb281993323fe29 /gcc/config/alpha
parent7644b152a6f6e1282c4e5f564185af6f16d52926 (diff)
downloadgcc-d10851800245ec8f9241a477e8084e9f20c0f558.zip
gcc-d10851800245ec8f9241a477e8084e9f20c0f558.tar.gz
gcc-d10851800245ec8f9241a477e8084e9f20c0f558.tar.bz2
alpha.c (output_epilog): Initialize fp_offset to 0, and
* alpha/alpha.c (output_epilog): Initialize fp_offset to 0, and make sure it's non-zero before we try to use it to restore the frame pointer. From-SVN: r9388
Diffstat (limited to 'gcc/config/alpha')
-rw-r--r--gcc/config/alpha/alpha.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 3de0175a..5e7902e 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -1511,7 +1511,7 @@ output_epilog (file, size)
insn = prev_nonnote_insn (insn);
if (insn == 0 || GET_CODE (insn) != BARRIER)
{
- int fp_offset;
+ int fp_offset = 0;
/* If we have a frame pointer, restore SP from it. */
if (frame_pointer_needed)
@@ -1558,7 +1558,7 @@ output_epilog (file, size)
/* If we needed a frame pointer and we have to restore it, do it
now. This must be done in one instruction immediately
before the SP update. */
- if (restore_fp)
+ if (restore_fp && fp_offset)
fprintf (file, "\tldq $15,%d($30)\n", fp_offset);
/* Now update the stack pointer, if needed. Only one instruction must