Bug 11655 – assignment of struct with vector field
Status
RESOLVED
Resolution
WORKSFORME
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-11-30T11:20:29Z
Last change time
2020-03-21T03:56:41Z
Keywords
ice
Assigned to
No Owner
Creator
Martin Nowak
Comments
Comment #0 by code — 2013-11-30T11:20:29Z
cat > bug.d << CODE
struct Foo
{
__vector(float[4]) x;
}
void bug()
{
Foo y;
y = Foo([0, 0, 0, 0]); // OK
y = Foo(); // NG
}
CODE
dmd -c bug
----
tym = x1d
Internal error: backend/cgxmm.c 547
----
The function xmmload is called with TYnptr.
Comment #1 by john.loughran.colvin — 2014-12-19T09:59:15Z
Both of these now compile, but they segfault at runtime. I'm pretty sure it's because of an unaligned access when reading the initialiser.