summaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>1998-03-09 12:00:42 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>1998-03-09 12:00:42 +0000
commit24fcb0a5bfc8123e9ed669d3bb46dd1226729611 (patch)
tree34e72ee4cf56564a8323c20c07011e0f08ee40e0 /gcc/final.c
parent760892b8b1bf49b265d1aa37d74031778e576c12 (diff)
downloadgcc-24fcb0a5bfc8123e9ed669d3bb46dd1226729611.tar.gz
* final.c (shorten_branches): Initialize insn_addresses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18448 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/final.c b/gcc/final.c
index d00a05e0b09..89054a892ee 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1067,6 +1067,9 @@ shorten_branches (first)
if (insn_addresses)
free (insn_addresses);
insn_addresses = (int *) xmalloc (max_uid * sizeof (int));
+ /* Syntax errors can lead to labels being outside of the main insn stream.
+ Initialize insn_addresses, so that we get reproducible results. */
+ bzero ((char *)insn_addresses, max_uid * sizeof *insn_addresses);
if (uid_align)
free (uid_align);
uid_align = (rtx *) xmalloc (max_uid * sizeof *uid_align);