diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-21 09:15:29 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-21 09:15:29 +0000 |
commit | 2569a1bed4c889254f528fdc227fad12430a8dec (patch) | |
tree | 2f19dd655a5b6d52dc032012f1972b9a63e632e4 /gcc/tree-inline.c | |
parent | 0023616d66a0e62e41b5f191d992d2a77c39ff9d (diff) | |
download | gcc-2569a1bed4c889254f528fdc227fad12430a8dec.tar.gz |
* c-common.c (verify_sequence_points): Export.
(c_expand_expr_stmt): Move to c-typeck.c.
* c-common.h (c_expand_expr_stmt): Remove.
(verify_sequence_points): Declare.
* c-mudflap.c (mflang_flush_calls): Use c_finish_expr_stmt.
* c-parse.in (for_init_stmt, stmt): Likewise.
* c-tree.h (c_finish_expr_stmt): Declare.
(c_tree_expr_nonnegative_p): Remove.
* c-typeck.c (c_tree_expr_nonnegative_p): Remove.
(build_conditional_expr, build_binary_op): Use tree_expr_nonnegative_p.
(emit_side_effect_warnings): New.
(c_finish_expr_stmt): Rename from c_expand_expr_stmt. Use it.
(c_finish_stmt_expr): Work without EXPR_STMT. Handle eh regions.
Use emit_side_effect_warnings.
(push_cleanup): Copy STATEMENT_LIST_STMT_EXPR.
* fold-const.c (tree_expr_nonnegative_p): Handle TARGET_EXPR.
* gimplify.c (gimplify_modify_expr): Don't discard TARGET_EXPR
with void initializer.
(gimplify_target_expr): Handle void BIND_EXPR initializer.
* tree-inline.c (estimate_num_insns_1): Fix type lookup for
INIT_EXPR and MODIFY_EXPR.
* objc/objc-act.c (build_module_descriptor): Use add_stmt
instead of c_expand_expr_stmt.
cp/
* semantics.c (finish_expr_stmt): Call verify_sequence_points.
testsuite/
* gcc.dg/tree-ssa/20030714-1.c: Rename variables to avoid
merging && to BIT_FIELD_REF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83429 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index d5ceac6d6c6..24bf3d1b2ff 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1251,11 +1251,14 @@ estimate_num_insns_1 (tree *tp, int *walk_subtrees, void *data) case STRING_CST: *walk_subtrees = 0; return NULL; + /* Recognize assignments of large structures and constructors of big arrays. */ case INIT_EXPR: - case TARGET_EXPR: case MODIFY_EXPR: + x = TREE_OPERAND (x, 0); + /* FALLTHRU */ + case TARGET_EXPR: case CONSTRUCTOR: { HOST_WIDE_INT size; |