* final.c (shorten_branches): Initialize insn_addresses.
authorJ"orn Rennecke <amylaar@cygnus.co.uk>
Mon, 9 Mar 1998 12:00:42 +0000 (12:00 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Mon, 9 Mar 1998 12:00:42 +0000 (12:00 +0000)
From-SVN: r18448

gcc/ChangeLog
gcc/final.c

index 2092ff1..406cd47 100644 (file)
@@ -1,3 +1,7 @@
+Mon Mar  9 19:57:56 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * final.c (shorten_branches): Initialize insn_addresses.
+
 Mon Mar  9 14:10:23 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * sh.h (MUST_PASS_IN_STACK): Define.
index d00a05e..89054a8 100644 (file)
@@ -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);