www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 17523] New: Sporadic ICEs with inline asm

https://issues.dlang.org/show_bug.cgi?id=17523

          Issue ID: 17523
           Summary: Sporadic ICEs with inline asm
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Windows
            Status: NEW
          Keywords: ice
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: dlang-bugzilla thecybershadow.net

With a 64-bit dmd.exe (as built using win64.mak), some inline asm instructions
can randomly cause an ICE. For example, consider the given file:

////// test.d /////
void fun()
{
    asm
    {   
        fstp ST(0);
    }
}
///////////////////

Compiling the file as usual (dmd.exe -c test.d) can result in any of the
following results:

63% chance: the file compiles successfully
25% chance: "Internal error: ddmd\backend\cod3.c 6869"
6% chance: "FLunde  Internal error: ddmd\backend\cod3.c 5527"
6% chance: "FLunde  Internal error: ddmd\backend\cod3.c 6757"

This affects building Druntime and Phobos - building them will likely fail with
one of the above errors, or (less probably) succeed.

Introduced in https://github.com/dlang/dmd/pull/6379

--
Jun 19 2017