diff options
author | Mark Mitchell <mark@codesourcery.com> | 2001-03-27 02:17:48 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2001-03-27 02:17:48 +0000 |
commit | b850de4faa9430a721ffeee7aacd968c2b1befad (patch) | |
tree | 948316451d83b15b776dfaed5ddc3be0ef0528cf /gcc/c-semantics.c | |
parent | 29bb79cf262441c925d8f89bbe3c67cddded3402 (diff) | |
download | gcc-b850de4faa9430a721ffeee7aacd968c2b1befad.zip gcc-b850de4faa9430a721ffeee7aacd968c2b1befad.tar.gz gcc-b850de4faa9430a721ffeee7aacd968c2b1befad.tar.bz2 |
c-common.h (DECL_NUM_STMTS): New macro.
* c-common.h (DECL_NUM_STMTS): New macro.
* c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
DECL_FRAME_SIZE.
(pushdecl): Likewise.
* c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
* integrate.c (expand_inline_function): Don't check
DECL_FRAME_SIZE.
* print-tree.c (print_node): Don't print it.
* toplev.c (rest_of_compilation): Don't try to inline when
flag_no_inline is on.
* tree.h (DECL_FRAME_SIZE): Remove.
(tree_decl): Adjust accordingly.
* Makefile.in (optimize.o): Depend on params.h.
(duplicate_decls): Copy DECL_NUM_STMTS, not DECL_FRAME_SIZE.
(init_decl_processing): Set flag_no_inline when doing
inlining-on-trees.
* optimize.c: Include params.h.
(struct inline_data): Improve documentation of FNS. Add
FIRST_INLINED_FN, INLINED_STMTS, and CLONING_P.
(INSNS_PER_STMT): New macro.
(remap_block): Use CLONING_P.
(inlinable_function_p): Don't inline big functions.
(expand_call_inline): Keep track of how much inlining we've done.
(optimize_function): Set FIRST_INLINED_FN.
(maybe_clone_body): Set CLONING_P.
* semantics.c (simplify_aggr_init_exprs_r): Fix typing problems in
tree nodes.
(genrtl_finish_function): Clear DECL_DEFER_OUTPUT before calling
rest_of_compilation. Clear DECL_RTL for local variables
afterwards.
(clear_decl_rtl): New function.
* com.c (duplicate_decls): Don't copy DECL_FRAME_SIZE.
* parse.h (DECL_END_SOURCE_LINE): Don't rely on DECL_FRAME_SIZE.
From-SVN: r40859
Diffstat (limited to 'gcc/c-semantics.c')
-rw-r--r-- | gcc/c-semantics.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/c-semantics.c b/gcc/c-semantics.c index 1c493e7..6f2ca2c 100644 --- a/gcc/c-semantics.c +++ b/gcc/c-semantics.c @@ -75,6 +75,11 @@ add_stmt (t) /* When we expand a statement-tree, we must know whether or not the statements are full-expresions. We record that fact here. */ STMT_IS_FULL_EXPR_P (last_tree) = stmts_are_full_exprs_p (); + + /* Keep track of the number of statements in this function. */ + if (current_function_decl) + ++DECL_NUM_STMTS (current_function_decl); + return t; } |