aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/optimize.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-07-02 02:12:10 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2003-07-02 00:12:10 +0000
commit8cd2462c1b395eb8c82a66bbb26ec01474b4c263 (patch)
treed82da478d6e68af51bc19afef90a24c9d944ca98 /gcc/cp/optimize.c
parent093354e08f1df0a1023dbde82f6c67cd30d85aa3 (diff)
downloadgcc-8cd2462c1b395eb8c82a66bbb26ec01474b4c263.zip
gcc-8cd2462c1b395eb8c82a66bbb26ec01474b4c263.tar.gz
gcc-8cd2462c1b395eb8c82a66bbb26ec01474b4c263.tar.bz2
decl2.c (defer_fn): Set DECL_DEFER_OUTPUT.
* decl2.c (defer_fn): Set DECL_DEFER_OUTPUT. (finish-file): Do not process function with DECL_DEFER_OUTPUT clear; clear DECL_DEFER_OUTPUT once function is processed; avoid flags massaging. * cp-tree.h (DECL_NEEDED_P): Support unit-at-a-time (expand_or_defer_fn): Declare. (lower_function): Declare. * decl.c (start_cleanup_fn): Use expand_or_defer_fn. * decl2.c: Include cgraph.h and varpool.h (maybe_emit_vtables): Make explicit instantations as needed. (mark_member_pointers, lower_function): New functions. (finish_file): Do unit-at-a-time. * method.c (synthesize_method): Use expand_or_defer_fn. * optimize.c (maybe_clone_body): Use expand_or_defer_fn. * parser.c (cp_parser_function_definition_after_decl): Use expand_or_defer_fn. * pt.c (instantiate_decl): Likewise. * semantics.c: Include cgraph.h (expand_or_defer_fn): Break out from ... (expand_body): ... here; deal with unit-at-a-time. * cp-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION): Define. From-SVN: r68801
Diffstat (limited to 'gcc/cp/optimize.c')
-rw-r--r--gcc/cp/optimize.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index b5d0f8f..4be829e 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -265,7 +265,7 @@ maybe_clone_body (tree fn)
/* Now, expand this function into RTL, if appropriate. */
finish_function (0);
BLOCK_ABSTRACT_ORIGIN (DECL_INITIAL (clone)) = DECL_INITIAL (fn);
- expand_body (clone);
+ expand_or_defer_fn (clone);
pop_from_top_level ();
}