diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/lto/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lto/lto.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 6166a81..c8d8f00 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,5 +1,10 @@ 2010-05-11 Jan Hubicka <jh@suse.cz> + * lto.c (lto_fixup_decls): Remove global var decls freeing here. + (materialize_cgraph): Add it here. + +2010-05-11 Jan Hubicka <jh@suse.cz> + * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls vector. diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 9f6ad40..a2a2b68 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -1454,8 +1454,6 @@ lto_fixup_decls (struct lto_file_decl_data **files) VEC_replace (tree, lto_global_var_decls, i, decl); } - VEC_free (tree, gc, lto_global_var_decls); - lto_global_var_decls = NULL; pointer_set_destroy (seen); } @@ -1710,6 +1708,9 @@ materialize_cgraph (void) for (i = 0; VEC_iterate (tree, lto_global_var_decls, i, decl); i++) rest_of_decl_compilation (decl, 1, 0); + VEC_free (tree, gc, lto_global_var_decls); + lto_global_var_decls = NULL; + if (!quiet_flag) fprintf (stderr, "\n"); |