aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/expr.c
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1998-01-12 09:44:59 +0000
committerJason Merrill <jason@gcc.gnu.org>1998-01-12 04:44:59 -0500
commita0d5fba7d253e0d09de2a4f46fce6a57340407a8 (patch)
tree3f2aab433a227917dcd627e3bd67f21d6f2276d1 /gcc/cp/expr.c
parentef720b21fd6c767e3053a61f01d91fa7f1fc6410 (diff)
downloadgcc-a0d5fba7d253e0d09de2a4f46fce6a57340407a8.zip
gcc-a0d5fba7d253e0d09de2a4f46fce6a57340407a8.tar.gz
gcc-a0d5fba7d253e0d09de2a4f46fce6a57340407a8.tar.bz2
init.c (build_new_1): Split out from build_new.
* init.c (build_new_1): Split out from build_new. (build_new): Just return a NEW_EXPR. * expr.c (cplus_expand_expr): Handle NEW_EXPR. * decl2.c (get_temp_regvar): Tweak. * cp-tree.h (TREE_CALLS_NEW): Comment out. * class.c (resolves_to_fixed_type_p): Remove use. * method.c (build_opfncall): Likewise. * call.c (build_new_op): Likewise. Fix problem with 'new' in default argument. From-SVN: r17319
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r--gcc/cp/expr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index a2c1669..266da02 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -188,6 +188,9 @@ cplus_expand_expr (exp, target, tmode, modifier)
integer_one_node, 1),
TREE_OPERAND (exp, 1), 0), target, tmode, modifier);
+ case NEW_EXPR:
+ return expand_expr (build_new_1 (exp), target, tmode, modifier);
+
default:
break;
}