From c9b1b1fcc545ae15e1fd402644f62a5ff267f32d Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Thu, 11 Jan 2001 17:53:42 +0000 Subject: [PATCH] Backport changes to set TREE_SIDE_EFFECTS automatically to 2.95 branch From-SVN: r38912 --- gcc/ChangeLog | 10 ++++++++++ gcc/tree.c | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3d40878c4fa4..dc923e29be39 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2001-01-11 Bernd Schmidt + + Mon Oct 4 16:56:11 1999 Richard Henderson + * tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that + always have side-effects. + + Mon Oct 4 02:12:41 1999 Mark Mitchell + * tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that + always have side-effects. + 2001-01-01 Bernd Schmidt * version.c: Bump. diff --git a/gcc/tree.c b/gcc/tree.c index 5e29d2f9115b..b6cdf7bebf88 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -1121,6 +1121,26 @@ make_node (code) case 'c': TREE_CONSTANT (t) = 1; break; + + case 'e': + switch (code) + { + case INIT_EXPR: + case MODIFY_EXPR: + case RTL_EXPR: + case PREDECREMENT_EXPR: + case PREINCREMENT_EXPR: + case POSTDECREMENT_EXPR: + case POSTINCREMENT_EXPR: + /* All of these have side-effects, no matter what their + operands are. */ + TREE_SIDE_EFFECTS (t) = 1; + break; + + default: + break; + } + break; } return t; @@ -3107,6 +3127,24 @@ build1 (code, type, node) TREE_RAISES (t) = 1; } + switch (code) + { + case INIT_EXPR: + case MODIFY_EXPR: + case RTL_EXPR: + case PREDECREMENT_EXPR: + case PREINCREMENT_EXPR: + case POSTDECREMENT_EXPR: + case POSTINCREMENT_EXPR: + /* All of these have side-effects, no matter what their + operands are. */ + TREE_SIDE_EFFECTS (t) = 1; + break; + + default: + break; + } + return t; } -- 2.47.3