summaryrefslogtreecommitdiff
path: root/gcc/cp/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r--gcc/cp/init.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 4fc90e6c276..a2d9837f66b 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -2465,6 +2465,7 @@ build_new (VEC(tree,gc) **placement, tree type, tree nelts,
else
return error_mark_node;
}
+ nelts = mark_rvalue_use (nelts);
nelts = cp_save_expr (cp_convert (sizetype, nelts));
}
@@ -3120,6 +3121,8 @@ build_delete (tree type, tree addr, special_function_kind auto_delete,
type = TYPE_MAIN_VARIANT (type);
+ addr = mark_rvalue_use (addr);
+
if (TREE_CODE (type) == POINTER_TYPE)
{
bool complete_p = true;