aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r--gcc/cp/init.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 1f21f4e..b1c3af9 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1223,12 +1223,12 @@ build_aggr_init (exp, init, flags)
TREE_TYPE (exp) = TYPE_MAIN_VARIANT (type);
begin_init_stmts (&stmt_expr, &compound_stmt);
- destroy_temps = stmts_are_full_exprs_p;
- stmts_are_full_exprs_p = 0;
+ destroy_temps = stmts_are_full_exprs_p ();
+ current_stmt_tree->stmts_are_full_exprs_p = 0;
expand_aggr_init_1 (TYPE_BINFO (type), exp, exp,
init, LOOKUP_NORMAL|flags);
stmt_expr = finish_init_stmts (stmt_expr, compound_stmt);
- stmts_are_full_exprs_p = destroy_temps;
+ current_stmt_tree->stmts_are_full_exprs_p = destroy_temps;
TREE_TYPE (exp) = type;
TREE_READONLY (exp) = was_const;
TREE_THIS_VOLATILE (exp) = was_volatile;
@@ -2850,8 +2850,8 @@ build_vec_init (decl, base, maxindex, init, from_array)
of blocks of memory. */
begin_init_stmts (&stmt_expr, &compound_stmt);
- destroy_temps = stmts_are_full_exprs_p;
- stmts_are_full_exprs_p = 0;
+ destroy_temps = stmts_are_full_exprs_p ();
+ current_stmt_tree->stmts_are_full_exprs_p = 0;
rval = get_temp_regvar (ptype,
cp_convert (ptype, default_conversion (base)));
base = get_temp_regvar (ptype, rval);
@@ -3013,9 +3013,9 @@ build_vec_init (decl, base, maxindex, init, from_array)
}
else
{
- stmts_are_full_exprs_p = 1;
+ current_stmt_tree->stmts_are_full_exprs_p = 1;
finish_expr_stmt (elt_init);
- stmts_are_full_exprs_p = 0;
+ current_stmt_tree->stmts_are_full_exprs_p = 0;
}
finish_expr_stmt (build_modify_expr
@@ -3065,7 +3065,7 @@ build_vec_init (decl, base, maxindex, init, from_array)
finish_expr_stmt (rval);
stmt_expr = finish_init_stmts (stmt_expr, compound_stmt);
- stmts_are_full_exprs_p = destroy_temps;
+ current_stmt_tree->stmts_are_full_exprs_p = destroy_temps;
return stmt_expr;
}