diff options
author | Jan Hubicka <jh@suse.cz> | 2003-07-02 02:12:10 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-07-02 00:12:10 +0000 |
commit | 8cd2462c1b395eb8c82a66bbb26ec01474b4c263 (patch) | |
tree | d82da478d6e68af51bc19afef90a24c9d944ca98 /gcc/cp/optimize.c | |
parent | 093354e08f1df0a1023dbde82f6c67cd30d85aa3 (diff) | |
download | gcc-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.c | 2 |
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 (); } |