aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/opts-common.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 94c9370..5f19470 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2011-11-11 Jakub Jelinek <jakub@redhat.com>
+ * opts-common.c (generate_canonical_option): Free opt_text
+ it it has been allocated here and not stored anywhere.
+
* tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN
vector.
(vect_create_new_slp_node): Don't allocate node before checking stmt
diff --git a/gcc/opts-common.c b/gcc/opts-common.c
index 00edbe6..354bce0 100644
--- a/gcc/opts-common.c
+++ b/gcc/opts-common.c
@@ -304,6 +304,8 @@ generate_canonical_option (size_t opt_index, const char *arg, int value,
decoded->canonical_option[0] = concat (opt_text, arg, NULL);
decoded->canonical_option[1] = NULL;
decoded->canonical_option_num_elements = 1;
+ if (opt_text != option->opt_text)
+ free (CONST_CAST (char *, opt_text));
}
}
else