diff options
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/opts-common.c | 2 |
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 |