www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 13795] New: DMD ICE segfault compiling druntime

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

          Issue ID: 13795
           Summary: DMD ICE segfault compiling druntime
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Mac OS X
            Status: NEW
          Severity: major
          Priority: P1
         Component: DMD
          Assignee: nobody puremagic.com
          Reporter: john.loughran.colvin gmail.com

Reduced from a segfault compiling runtime:

void f()
{
    T1!cfloat;
}

template T0(T)
{
    void g(T v)
    {
        v = 0 + 0i;
    }
}

template T1(T)
{
    void h()
    {
        if (T0!T)
            return;
    }
}

output when compiled:

test3.d(18): Error: expression Floating!cfloat of type void does not have a
boolean value
test3.d(19): Error: return expression expected
test3.d(3): Error: template instance test3.Array!cfloat error instantiating
Segmentation fault: 11

Tested on OS X 10.10, dmd git HEAD

--
Nov 29 2014