www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 24257] New: ImportC: ICE on accessing last _Bool bitfield

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

          Issue ID: 24257
           Summary: ImportC: ICE on accessing last _Bool bitfield
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Keywords: ice, ImportC
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: dkorpel live.nl

```
typedef struct
{
    unsigned : 15;
    _Bool done : 1;
} S;

_Bool advance()
{
    S n;
    if (n->done) {}
}
```

Results in:
```
core.exception.AssertError src/dmd/backend/cgelem.d(3202): Assertion failure
----------------
??:? _d_assertp [0x556b0f3b40c0]
src/dmd/backend/cgelem.d:3202 nothrow  trusted dmd.backend.el.elem*
dmd.backend.cgelem.elbit(dmd.backend.el.elem*, uint) [0x556b0f2dc5dc]
src/dmd/backend/cgelem.d:6147 nothrow  trusted dmd.backend.el.elem*
dmd.backend.cgelem.optelem(dmd.backend.el.elem*, uint) [0x556b0f2e2f93]
src/dmd/backend/cgelem.d:6178 nothrow  trusted dmd.backend.el.elem*
dmd.backend.cgelem.doptelem(dmd.backend.el.elem*, uint) [0x556b0f2e2ff1]
```

--
Nov 23 2023