dmd/druntime/test
Teodor Dutu fcff1b51ba
Translate _d_newarray{U,iT,T} to a single template (#15299)
* druntime: Copy array allocation functions to `core.internal.array.utils`

This copies `__setArrayAllocLength()`, `__arrayAlloc()` and moves
`__arrayStart()` and `__arrayClearPad()` to
`core.internal.array.utils.d`. This is needed because `_d_newarrayT()`
calls these functions from `rt.lifetime.d`, but the file cannot be
imported from `core.internal.array.creation.d`.

Signed-off-by: Teodor Dutu <teodor.dutu@gmail.com>

* Translate `_d_newarray{U,iT,T}` to a single template

This achieves the following:
- Convert `_d_newarray{U,iT,T}` to a single template `_d_newarrayT` that
handles arrays of elements that either have an init symbol or are
zero-initialised.
- Move compiler lowering to the semantic phase
- Store lowered expression in `NewExp.lowering`

Signed-off-by: Teodor Dutu <teodor.dutu@gmail.com>

---------

Signed-off-by: Teodor Dutu <teodor.dutu@gmail.com>
2023-10-24 10:44:55 +03:00
..
aa Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
allocations [stable] druntime: Fix InvalidMemoryOperation error on Windows when throwing exceptions from finalizers (#14901) 2023-02-22 11:17:24 +02:00
betterc Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
config Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
coverage Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
cpuid Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
cycles Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
exceptions fix issue 23859 - [REG 2.103] Throwing while in a deep callstack causes memory corruption (#15127) 2023-04-25 22:32:16 +03:00
gc fix Issue 23593 - core.thread: suspendAll doesn't wait for all if current thread has detached itself. 2022-12-31 02:12:56 +01:00
hash Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
imports Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
init_fini Fix build script paths to work with new merged repository structure 2022-07-09 23:49:27 +02:00
lifetime Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
profile Translate _d_newarray{U,iT,T} to a single template (#15299) 2023-10-24 10:44:55 +03:00
shared Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
stdcpp druntime: Demangle C++ symbols if a standard library is already loaded 2022-10-29 10:59:46 +01:00
thread Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
traits Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
typeinfo Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
unittest Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
uuid Fix build script paths to work with new merged repository structure 2022-07-09 23:49:27 +02:00
valgrind Add Valgrind GC integration (#15304) 2023-06-15 01:01:42 -07:00
.gitignore Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00
common.mak ci: Update cirrus macOS image to M1-based runners (#14772) 2023-01-03 01:23:03 +02:00
nogc.d Merge dlang/druntime repository into dlang/dmd 2022-07-09 18:53:15 +02:00