aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-01-14 00:59:19 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2004-01-13 23:59:19 +0000
commitd34cb6a14965380b1e0b8af0d5a8ff2f3c165055 (patch)
tree27cbfcbaa8a6b2863468e56d367667ff8cb34a0a /gcc/cgraphunit.c
parentc951359074f5d123d3cc96c56d47291623f74629 (diff)
downloadgcc-d34cb6a14965380b1e0b8af0d5a8ff2f3c165055.zip
gcc-d34cb6a14965380b1e0b8af0d5a8ff2f3c165055.tar.gz
gcc-d34cb6a14965380b1e0b8af0d5a8ff2f3c165055.tar.bz2
Partial fix PR c++/12850
Partial fix PR c++/12850 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when at zero nest level. * decl2.c (mark_used): Do not proactively instantiate templates when compiling in unit-at-a-time or not optimizing. * optimize.c (maybe_clone_body): Do not increase function depth. From-SVN: r75823
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index cf7069b..e26a2c1 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -219,7 +219,10 @@ cgraph_finalize_function (tree decl, bool nested)
/* If not unit at a time, go ahead and emit everything we've found
to be reachable at this time. */
if (!nested)
- cgraph_assemble_pending_functions ();
+ {
+ if (!cgraph_assemble_pending_functions ())
+ ggc_collect ();
+ }
/* If we've not yet emitted decl, tell the debug info about it. */
if (!TREE_ASM_WRITTEN (decl))