diff options
Diffstat (limited to 'gcc/cp/optimize.c')
-rw-r--r-- | gcc/cp/optimize.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c index 448a0b3..8a3ebe6 100644 --- a/gcc/cp/optimize.c +++ b/gcc/cp/optimize.c @@ -88,6 +88,7 @@ maybe_clone_body (tree fn) /* We know that any clones immediately follow FN in the TYPE_METHODS list. */ + push_to_top_level (); for (clone = TREE_CHAIN (fn); clone && DECL_CLONED_FUNCTION_P (clone); clone = TREE_CHAIN (clone)) @@ -131,7 +132,6 @@ maybe_clone_body (tree fn) update_cloned_parm (parm, clone_parm); /* Start processing the function. */ - push_to_top_level (); start_preparsed_function (clone, NULL_TREE, SF_PRE_PARSED); /* Remap the parameters. */ @@ -198,8 +198,8 @@ maybe_clone_body (tree fn) finish_function (0); BLOCK_ABSTRACT_ORIGIN (DECL_INITIAL (clone)) = DECL_INITIAL (fn); expand_or_defer_fn (clone); - pop_from_top_level (); } + pop_from_top_level (); /* We don't need to process the original function any further. */ return 1; |