mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-15 04:13:14 +01:00
0caba6672d217dd39e47597c4d9382c3df7f3a56
Before, _d_arraycatT was used to concatenate multiple arrays. That caused an issue when postblit
was called on a struct multiple times. The next code asserted due to the issue:
void main()
{
static struct S
{
int x;
int pad;
this(this)
{
++x;
}
}
auto sarr = new S[1];
auto sarr2 = sarr ~ sarr ~ sarr;
assert(sarr2[0].x == 1);
assert(sarr2[1].x == 1);
assert(sarr2[2].x == 1);
assert(sarr[0].x == 0);
}
LLVM D Compiler (LDC) This compiler is based on the Digital Mars D (DMD) compiler frontend, and the LLVM compiler toolkit. See LICENSE for licensing information. For more information, including build instructions, visit the LDC website: http://www.dsource.org/projects/ldc
Description
Languages
C
75.2%
C++
23.2%
D
0.7%
CMake
0.6%
Shell
0.2%