Bug 1028 – Segfault using tuple inside asm code.

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
x86
OS
Windows
Creation time
2007-03-06T06:09:00Z
Last change time
2014-02-16T15:22:09Z
Keywords
ice-on-valid-code
Assigned to
bugzilla
Creator
clugdbug

Comments

Comment #0 by clugdbug — 2007-03-06T06:09:19Z
Line (1) causes a segfault. Line (2) causes an ICE. Dsymbol::toSymbol() 'var1', kind = 'alias' Assertion failure: '0' on line 103 in file 'tocsym.c' -------- void a(X...)(X expr) { alias X[0] var1; asm { fld double ptr X[0]; // (1) segfaults fstp double ptr var1; // (2) ICE } } void main() { a(3.6); }
Comment #1 by thomas-dloop — 2007-03-11T06:20:37Z
Comment #2 by clugdbug — 2007-04-11T18:40:44Z
The situation shown in the test case was fixed in DMD 1.011. The ICE seems to be genuinely fixed, but the segfault still occurs in slightly more complex examples. I've created issue #1125 for those.
Comment #3 by bugzilla — 2007-04-11T21:59:44Z
Fixed dmd 1.011 But the X[0] must be replaced with expr[0].