www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 21328] New: Forwarding static float array element inside a

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

          Issue ID: 21328
           Summary: Forwarding static float array element inside a lambda
                    crashes dmd backend
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Keywords: backend, ice-on-valid-code
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: dkorpel live.nl

When upgrading to dmd 2.094 I found that this (reduced) code crashes dmd:
```
void bar(float x) {}

void foo(float[1] arr) {
    () {
        bar(arr[0]);
    } ();
}
```

It prints:

tym = 0x227
[1]    14828 illegal hardware instruction  dmd -c tymbug.d

Suggesting a regression in dmd's backend. 

Possibly caused by: https://github.com/dlang/dmd/pull/11693

I have not verified this yet however.

--
Oct 19 2020