aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-08-19 17:27:48 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2009-08-19 17:27:48 +0200
commitdc0c6451cd5551fe2f1cac817acf62e71ab73423 (patch)
treeab9cb60c984e206b00c2a68af48c934ec209f92f
parent9302a061421dfbd63626da0559bc65a3c2f87ce4 (diff)
downloadgcc-dc0c6451cd5551fe2f1cac817acf62e71ab73423.zip
gcc-dc0c6451cd5551fe2f1cac817acf62e71ab73423.tar.gz
gcc-dc0c6451cd5551fe2f1cac817acf62e71ab73423.tar.bz2
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
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config/ia64/ia64.c1
-rw-r--r--gcc/config/m68k/m68k.c1
-rw-r--r--gcc/config/mips/mips.c1
-rw-r--r--gcc/config/rs6000/rs6000.c1
-rw-r--r--gcc/config/score/score3.c1
-rw-r--r--gcc/config/score/score7.c1
-rw-r--r--gcc/config/sh/sh.c1
-rw-r--r--gcc/config/sparc/sparc.c1
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/method.c1
11 files changed, 18 insertions, 8 deletions
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 <jakub@redhat.com>
+
+ * 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 <iant@google.com>
* 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 <jakub@redhat.com>
+
+ * method.c (use_thunk): Call free_after_compilation after
+ assemble_end_function.
+
2009-08-17 Richard Guenther <rguenther@suse.de>
* 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;