aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/expr.cc
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2023-10-29 16:39:05 +0100
committerIain Buclaw <ibuclaw@gdcproject.org>2023-10-29 16:41:29 +0100
commite773c6c7009bb35fa50da034f3537448fd36c7f0 (patch)
tree24b60531e9364c16eb2bfd6c2bfea5f287e6afab /gcc/d/expr.cc
parentc6929b085580cf00cbc52b0f5b0afe2b9caa2a22 (diff)
downloadgcc-e773c6c7009bb35fa50da034f3537448fd36c7f0.zip
gcc-e773c6c7009bb35fa50da034f3537448fd36c7f0.tar.gz
gcc-e773c6c7009bb35fa50da034f3537448fd36c7f0.tar.bz2
d: Merge upstream dmd, druntime e48bc0987d, phobos 2458e8f82.
D front-end changes: - Import dmd v2.106.0-beta.1. D runtime changes: - Import druntime v2.106.0-beta.1. Phobos changes: - Import phobos v2.106.0-beta.1. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd e48bc0987d. * expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end interface. * runtime.def (NEWARRAYT): Remove. (NEWARRAYIT): Remove. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime e48bc0987d. * src/MERGE: Merge upstream phobos 2458e8f82.
Diffstat (limited to 'gcc/d/expr.cc')
-rw-r--r--gcc/d/expr.cc20
1 files changed, 4 insertions, 16 deletions
diff --git a/gcc/d/expr.cc b/gcc/d/expr.cc
index 72180b1..29f114a 100644
--- a/gcc/d/expr.cc
+++ b/gcc/d/expr.cc
@@ -2368,22 +2368,10 @@ public:
if (e->arguments->length == 1)
{
- /* Single dimension array allocations. */
- Expression *arg = (*e->arguments)[0];
-
- if (tarray->next->size () == 0)
- {
- /* Array element size is unknown. */
- this->result_ = d_array_value (build_ctype (e->type),
- size_int (0), null_pointer_node);
- return;
- }
-
- libcall_fn libcall = tarray->next->isZeroInit ()
- ? LIBCALL_NEWARRAYT : LIBCALL_NEWARRAYIT;
- result = build_libcall (libcall, tb, 2,
- build_typeinfo (e, e->type),
- build_expr (arg));
+ /* Single dimension array allocations has already been handled by
+ the front-end. */
+ gcc_assert (e->lowering);
+ result = build_expr (e->lowering);
}
else
{