aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2003-08-26 08:51:35 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2003-08-26 08:51:35 +0000
commit20b506726b1e07f028fa81ffc80f5081aabaea02 (patch)
tree152ffb66aceabfdd630712ed76616a8b76fb2e82 /gcc/expr.c
parentd128effb32977a5a1621b106465133970a842c4d (diff)
downloadgcc-20b506726b1e07f028fa81ffc80f5081aabaea02.zip
gcc-20b506726b1e07f028fa81ffc80f5081aabaea02.tar.gz
gcc-20b506726b1e07f028fa81ffc80f5081aabaea02.tar.bz2
builtins.c (build_function_call_expr): Don't set TREE_SIDE_EFFECTS here.
* builtins.c (build_function_call_expr): Don't set TREE_SIDE_EFFECTS here. * expr.c (emit_block_move_via_libcall): Likewise. (clear_storage_via_libcall): Likewise. * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure CALL_EXPRs. cp: * call.c (build_call): Don't set TREE_SIDE_EFFECTS here. (build_new_method_call): Add goto finish. * semantics.c (simplify_aggr_init_exprs_r): Don't set TREE_SIDE_EFFECTS on a call. testsuite: * c++.dg/warn/noeffect3.C: New test. From-SVN: r70802
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index b7f71c6..52cdfee 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -2006,7 +2006,6 @@ emit_block_move_via_libcall (rtx dst, rtx src, rtx size)
call_expr = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (fn)), fn);
call_expr = build (CALL_EXPR, TREE_TYPE (TREE_TYPE (fn)),
call_expr, arg_list, NULL_TREE);
- TREE_SIDE_EFFECTS (call_expr) = 1;
retval = expand_expr (call_expr, NULL_RTX, VOIDmode, 0);
@@ -3120,7 +3119,6 @@ clear_storage_via_libcall (rtx object, rtx size)
call_expr = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (fn)), fn);
call_expr = build (CALL_EXPR, TREE_TYPE (TREE_TYPE (fn)),
call_expr, arg_list, NULL_TREE);
- TREE_SIDE_EFFECTS (call_expr) = 1;
retval = expand_expr (call_expr, NULL_RTX, VOIDmode, 0);