www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 1028] New: Segfault using tuple inside asm code.

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1028

           Summary: Segfault using tuple inside asm code.
           Product: D
           Version: 1.007
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: clugdbug yahoo.com.au


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);
}


-- 
Mar 06 2007
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1028





------- Comment #1 from thomas-dloop kuehne.cn  2007-03-11 06:20 -------
Added to DStress as
http://dstress.kuehne.cn/run/t/tuple_19_A.d


-- 
Mar 11 2007
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1028


clugdbug yahoo.com.au changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #2 from clugdbug yahoo.com.au  2007-04-11 18:40 -------
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.


-- 
Apr 11 2007
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1028





------- Comment #3 from bugzilla digitalmars.com  2007-04-11 21:59 -------
Fixed dmd 1.011

But the X[0] must be replaced with expr[0].


-- 
Apr 11 2007