www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 20143] New: ICE in optimizer on real 0/0 returned as double

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

          Issue ID: 20143
           Summary: ICE in optimizer on real 0/0 returned as double
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Keywords: ice
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: simen.kjaras gmail.com

The below code crashes the compiler with "Internal error: dmd/backend/evalu8.c
1028":

// typeof(x) is irrelevant, but it must take at least one parameter
real fun(real x) { return 0; }

double bug()
{
    // value passed to fun is irrelevant
    return 0 / fun(0);
}

void main()
{
}

Source discussion:
https://forum.dlang.org/thread/ijuyxswuijcmvkvmhlpi forum.dlang.org

--
Aug 19 2019