From: Mark Mitchell Date: Fri, 17 Aug 2001 04:32:09 +0000 (+0000) Subject: cvt.c (convert_to_void): Preserve TREE_SIDE_EFFECTS on COMPOUND_EXPRs. X-Git-Tag: prereleases/libstdc++-3.0.95~2612 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a52d09b746d955ce42815329962db3bb19b4d18;p=thirdparty%2Fgcc.git cvt.c (convert_to_void): Preserve TREE_SIDE_EFFECTS on COMPOUND_EXPRs. * cvt.c (convert_to_void): Preserve TREE_SIDE_EFFECTS on COMPOUND_EXPRs. From-SVN: r44956 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e50446cb0e07..441735e7cc9f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2001-08-16 Mark Mitchell + + * cvt.c (convert_to_void): Preserve TREE_SIDE_EFFECTS + on COMPOUND_EXPRs. + 2001-08-14 Richard Henderson * class.c, cp-tree.h (build_vfn_ref): Remove. diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c index 5b153efff179..f8845b29d7fd 100644 --- a/gcc/cp/cvt.c +++ b/gcc/cp/cvt.c @@ -950,8 +950,13 @@ convert_to_void (expr, implicit) tree new_op1 = convert_to_void (op1, implicit); if (new_op1 != op1) - expr = build (COMPOUND_EXPR, TREE_TYPE (new_op1), - TREE_OPERAND (expr, 0), new_op1); + { + tree t = build (COMPOUND_EXPR, TREE_TYPE (new_op1), + TREE_OPERAND (expr, 0), new_op1); + TREE_SIDE_EFFECTS (t) = TREE_SIDE_EFFECTS (expr); + expr = t; + } + break; }