1028 – Segfault using tuple inside asm code.

D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 1028 - Segfault using tuple inside asm code.
Summary: Segfault using tuple inside asm code.
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D1 (retired)
Hardware: x86 Windows
: P2 normal
Assignee: Walter Bright
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
Reported: 2007年03月06日 06:09 UTC by Don
Modified: 2014年02月16日 15:22 UTC (History)
0 users

See Also:


Attachments
Add an attachment (proposed patch, testcase, etc.)

Note You need to log in before you can comment on or make changes to this issue.
Description Don 2007年03月06日 06:09:19 UTC
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 Thomas Kühne 2007年03月11日 06:20:37 UTC
Added to DStress as
http://dstress.kuehne.cn/run/t/tuple_19_A.d 
Comment 2 Don 2007年04月11日 18:40:44 UTC
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 Walter Bright 2007年04月11日 21:59:44 UTC
Fixed dmd 1.011
But the X[0] must be replaced with expr[0].


AltStyle によって変換されたページ (->オリジナル) /