diff options
Diffstat (limited to 'gcc/lto/lto.c')
-rw-r--r-- | gcc/lto/lto.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 6893226..4471853 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -221,7 +221,7 @@ lto_materialize_function (struct cgraph_node *node) gcc_assert (DECL_STRUCT_FUNCTION (decl) == NULL); - allocate_struct_function (decl, false); + push_struct_function (decl); announce_function (decl); lto_input_function_body (file_data, decl, data); if (DECL_FUNCTION_PERSONALITY (decl) && !first_personality_decl) @@ -229,6 +229,7 @@ lto_materialize_function (struct cgraph_node *node) lto_stats.num_function_bodies++; lto_free_section_data (file_data, LTO_section_function_body, name, data, len); + pop_cfun (); ggc_collect (); } } |