diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2023-10-29 16:39:05 +0100 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2023-10-29 16:41:29 +0100 |
commit | e773c6c7009bb35fa50da034f3537448fd36c7f0 (patch) | |
tree | 24b60531e9364c16eb2bfd6c2bfea5f287e6afab /gcc/d/expr.cc | |
parent | c6929b085580cf00cbc52b0f5b0afe2b9caa2a22 (diff) | |
download | gcc-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.cc | 20 |
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 { |