diff options
author | Richard Henderson <rth@redhat.com> | 2004-06-21 02:15:29 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-06-21 02:15:29 -0700 |
commit | 3a5b9284da6acc309118a04dcba3a1cbca2ecdd4 (patch) | |
tree | 2f19dd655a5b6d52dc032012f1972b9a63e632e4 /gcc/cp/semantics.c | |
parent | 2c486ea78cfcbd4b05c7845db23647fe2bf61d6d (diff) | |
download | gcc-3a5b9284da6acc309118a04dcba3a1cbca2ecdd4.zip gcc-3a5b9284da6acc309118a04dcba3a1cbca2ecdd4.tar.gz gcc-3a5b9284da6acc309118a04dcba3a1cbca2ecdd4.tar.bz2 |
c-common.c (verify_sequence_points): Export.
* 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.
From-SVN: r83429
Diffstat (limited to 'gcc/cp/semantics.c')
-rw-r--r-- | gcc/cp/semantics.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 92efe44..826ac68 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -493,7 +493,11 @@ finish_expr_stmt (tree expr) if (expr != NULL_TREE) { if (!processing_template_decl) - expr = convert_to_void (expr, "statement"); + { + if (warn_sequence_point) + verify_sequence_points (expr); + expr = convert_to_void (expr, "statement"); + } else if (!type_dependent_expression_p (expr)) convert_to_void (build_non_dependent_expr (expr), "statement"); |