www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 23768] New: ImportC: ICE on nested C initializer

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

          Issue ID: 23768
           Summary: ImportC: ICE on nested C initializer
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Keywords: ImportC
          Severity: normal
          Priority: P4
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: dkorpel live.nl

This one results in an endless loop:
```C
typedef struct {
  union {
    struct {
      int o;
    } f;
  };
} S;

void f(void) {
    S data = (S) {
      {.f = {.o = 0}}
    };
}

```

And this one results in `src/dmd/initsem.d(958): Assertion failure`:
```C
typedef struct {
  union {
    struct {
      struct {
        int o;
      } f;
    };
  };
} S;

void f(void) {
    S data = (S) {
      {{.f = {.o = 0}}}
    };
}
```

--
Mar 09 2023