diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/lto-streamer-out.c | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b4b9a65..9fce27e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2010-05-10 Jan Hubicka <jh@suse.cz> + * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally commited change. + +2010-05-10 Jan Hubicka <jh@suse.cz> + * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): Allocate encoders. * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here. diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 86f2c73..ede7c71 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -2505,7 +2505,6 @@ produce_asm_for_decls (cgraph_node_set set, varpool_node_set vset) fn_out_state = VEC_index (lto_out_decl_state_ptr, lto_function_decl_states, idx); lto_output_decl_state_refs (ob, decl_state_stream, fn_out_state); - lto_delete_out_decl_state (fn_out_state); } lto_write_stream (decl_state_stream); free(decl_state_stream); @@ -2522,6 +2521,12 @@ produce_asm_for_decls (cgraph_node_set set, varpool_node_set vset) lto_write_options (); /* Deallocate memory and clean up. */ + for (idx = 0; idx < num_fns; idx++) + { + fn_out_state = + VEC_index (lto_out_decl_state_ptr, lto_function_decl_states, idx); + lto_delete_out_decl_state (fn_out_state); + } lto_cgraph_encoder_delete (ob->decl_state->cgraph_node_encoder); lto_varpool_encoder_delete (ob->decl_state->varpool_node_encoder); VEC_free (lto_out_decl_state_ptr, heap, lto_function_decl_states); |