tree *stmt_expr_p;
tree *compound_stmt_p;
{
- *stmt_expr_p = begin_stmt_expr ();
- *compound_stmt_p = begin_compound_stmt (/*has_no_scope=*/1);
+ if (building_stmt_tree ())
+ *stmt_expr_p = begin_stmt_expr ();
+ else
+ *stmt_expr_p = genrtl_begin_stmt_expr ();
+
+ if (building_stmt_tree ())
+ *compound_stmt_p = begin_compound_stmt (/*has_no_scope=*/1);
+ else
+ *compound_stmt_p = genrtl_begin_compound_stmt (/*has_no_scope=*/1);
}
/* Finish out the statement-expression begun by the previous call to
finish_init_stmts (stmt_expr, compound_stmt)
tree stmt_expr;
tree compound_stmt;
-{
- finish_compound_stmt (/*has_no_scope=*/1, compound_stmt);
- stmt_expr = finish_stmt_expr (stmt_expr);
+{
+ if (building_stmt_tree ())
+ finish_compound_stmt (/*has_no_scope=*/1, compound_stmt);
+ else
+ genrtl_finish_compound_stmt (/*has_no_scope=*/1);
+
+ if (building_stmt_tree ())
+ stmt_expr = finish_stmt_expr (stmt_expr);
+ else
+ stmt_expr = genrtl_finish_stmt_expr (stmt_expr);
+
/* To avoid spurious warnings about unused values, we set
TREE_USED. */
if (stmt_expr)
rval = build_method_call (exp, ctor_name, parms, binfo, flags);
if (TREE_SIDE_EFFECTS (rval))
- finish_expr_stmt (rval);
+ {
+ if (building_stmt_tree ())
+ finish_expr_stmt (rval);
+ else
+ genrtl_expr_stmt (rval);
+ }
}
/* This function is responsible for initializing EXP with INIT
full-expression. */
if (!building_stmt_tree ())
{
- finish_expr_stmt (elt_init);
+ genrtl_expr_stmt (elt_init);
expand_end_target_temps ();
}
else