aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
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 96a7a5b..281b161 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -767,6 +767,9 @@ shorten_branches (rtx first ATTRIBUTE_UNUSED)
/* Compute maximum UID and allocate label_align / uid_shuid. */
max_uid = get_max_uid ();
+ /* Free uid_shuid before reallocating it. */
+ free (uid_shuid);
+
uid_shuid = xmalloc (max_uid * sizeof *uid_shuid);
if (max_labelno != max_label_num ())