aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1998-03-09 12:00:42 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1998-03-09 12:00:42 +0000
commitaf0356161ee3f57cd097b2f430f835d79b4defaf (patch)
tree34e72ee4cf56564a8323c20c07011e0f08ee40e0 /gcc/final.c
parent97e3c42239ca0eb3ee8425cfc40faa615fdead4c (diff)
downloadgcc-af0356161ee3f57cd097b2f430f835d79b4defaf.zip
gcc-af0356161ee3f57cd097b2f430f835d79b4defaf.tar.gz
gcc-af0356161ee3f57cd097b2f430f835d79b4defaf.tar.bz2
* final.c (shorten_branches): Initialize insn_addresses.
From-SVN: r18448
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 d00a05e..89054a8 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);