From: Jakub Jelinek Date: Wed, 19 Aug 2009 15:27:48 +0000 (+0200) Subject: method.c (use_thunk): Call free_after_compilation after assemble_end_function. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dc0c6451cd5551fe2f1cac817acf62e71ab73423;p=platform%2Fupstream%2Fgcc.git method.c (use_thunk): Call free_after_compilation after assemble_end_function. * method.c (use_thunk): Call free_after_compilation after assemble_end_function. * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Don't call free_after_compilation. * config/score/score7.c (score7_output_mi_thunk): Likewise. * config/score/score3.c (score3_output_mi_thunk): Likewise. * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise. * config/mips/mips.c (mips_output_mi_thunk): Likewise. * config/sh/sh.c (sh_output_mi_thunk): Likewise. * config/m68k/m68k.c (m68k_output_mi_thunk): Likewise. * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. From-SVN: r150938 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0831f4c..4397d75 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2009-08-19 Jakub Jelinek + + * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Don't call + free_after_compilation. + * config/score/score7.c (score7_output_mi_thunk): Likewise. + * config/score/score3.c (score3_output_mi_thunk): Likewise. + * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise. + * config/mips/mips.c (mips_output_mi_thunk): Likewise. + * config/sh/sh.c (sh_output_mi_thunk): Likewise. + * config/m68k/m68k.c (m68k_output_mi_thunk): Likewise. + * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. + 2009-08-19 Ian Lance Taylor * doc/md.texi (Insn Canonicalizations): Correct canonicalization diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 71acdab..dfc7029 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -10288,7 +10288,6 @@ ia64_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); - free_after_compilation (cfun); reload_completed = 0; epilogue_completed = 0; diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index ec371e5..1027d1c 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -5026,7 +5026,6 @@ m68k_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED, /* Restore the original PIC register. */ if (flag_pic) SET_REGNO (pic_offset_table_rtx, PIC_REG); - free_after_compilation (cfun); } /* Worker function for TARGET_STRUCT_VALUE_RTX. */ diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 572d6e7..04a1f0e 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -13942,7 +13942,6 @@ mips_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); - free_after_compilation (cfun); /* Clean up the vars set above. Note that final_end_function resets the global pointer for us. */ diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index b4a0592..e6481fb 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -20117,7 +20117,6 @@ rs6000_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); - free_after_compilation (cfun); reload_completed = 0; epilogue_completed = 0; diff --git a/gcc/config/score/score3.c b/gcc/config/score/score3.c index 385620d..d27d1f9 100644 --- a/gcc/config/score/score3.c +++ b/gcc/config/score/score3.c @@ -380,7 +380,6 @@ score3_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); - free_after_compilation (cfun); /* Clean up the vars set above. Note that final_end_function resets the global pointer for us. */ diff --git a/gcc/config/score/score7.c b/gcc/config/score/score7.c index 368ac03..4ba3dce 100644 --- a/gcc/config/score/score7.c +++ b/gcc/config/score/score7.c @@ -379,7 +379,6 @@ score7_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); - free_after_compilation (cfun); /* Clean up the vars set above. Note that final_end_function resets the global pointer for us. */ diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index a4be11c..71933d6 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -11282,7 +11282,6 @@ sh_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insns, file, 1); final (insns, file, 1); final_end_function (); - free_after_compilation (cfun); reload_completed = 0; epilogue_completed = 0; diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 033980b..a0adfd0 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -8942,7 +8942,6 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); - free_after_compilation (cfun); reload_completed = 0; epilogue_completed = 0; diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 52625db..630814a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2009-08-19 Jakub Jelinek + + * method.c (use_thunk): Call free_after_compilation after + assemble_end_function. + 2009-08-17 Richard Guenther * decl.c (build_ptrmemfunc_type): Keep variant chain intact. diff --git a/gcc/cp/method.c b/gcc/cp/method.c index c1da08b..6950c2d 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -450,6 +450,7 @@ use_thunk (tree thunk_fndecl, bool emit_p) assemble_end_function (thunk_fndecl, fnname); init_insn_lengths (); + free_after_compilation (cfun); current_function_decl = 0; set_cfun (NULL); TREE_ASM_WRITTEN (thunk_fndecl) = 1;