diff options
author | Brendan Kehoe <brendan@gcc.gnu.org> | 1995-04-15 12:12:24 -0400 |
---|---|---|
committer | Brendan Kehoe <brendan@gcc.gnu.org> | 1995-04-15 12:12:24 -0400 |
commit | d10851800245ec8f9241a477e8084e9f20c0f558 (patch) | |
tree | f1349e2b4fb346aca6369be43eb281993323fe29 /gcc/config/alpha | |
parent | 7644b152a6f6e1282c4e5f564185af6f16d52926 (diff) | |
download | gcc-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.c | 4 |
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 |