+2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c++/17972
+ * tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS
+ on the STMT_EXPR wrapping up the inlined body.
+
2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
PR preprocessor/15167
+2004-12-15 Alan Modra <amodra@bigpond.net.au>
+
+ * g++.dg/opt/inline9.C: New test.
+
2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
* cpp/pragma-once-1.c: New test.
splay_tree_delete (id->decl_map);
id->decl_map = st;
- /* The new expression has side-effects if the old one did. */
- TREE_SIDE_EFFECTS (expr) = TREE_SIDE_EFFECTS (t);
+ /* Although, from the semantic viewpoint, the new expression has
+ side-effects only if the old one did, it is not possible, from
+ the technical viewpoint, to evaluate the body of a function
+ multiple times without serious havoc. */
+ TREE_SIDE_EFFECTS (expr) = 1;
/* Replace the call by the inlined body. Wrap it in an
EXPR_WITH_FILE_LOCATION so that we'll get debugging line notes