Bug 21995 – Struct with size uint.max or greater causes ICE

Status
RESOLVED
Resolution
FIXED
Severity
critical
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2021-06-06T03:18:24Z
Last change time
2024-10-02T22:56:41Z
Keywords
ice, pull
Assigned to
No Owner
Creator
Paul Backus

Comments

Comment #0 by snarwin+bugzilla — 2021-06-06T03:18:24Z
Attempting to compile the following program with DMD 2.097.0 results in an ICE: --- // S.sizeof == uint.max (0xffffffff) struct S { ubyte[0x7ffffffe] a; ubyte[0x7ffffffe] b; ubyte[3] c; } --- The compiler crashes with no output and an exit code of 132 ("Illegal instruction"), most likely as the result of hitting an `assert(0)`.
Comment #1 by dlang-bot — 2024-09-26T14:26:05Z
@WalterBright created dlang/dmd pull request #16885 "fix bugzilla 21995 Struct with size uint.max or greater causes ICE" fixing this issue: - fix bugzilla 21995 Struct with size uint.max or greater causes ICE https://github.com/dlang/dmd/pull/16885
Comment #2 by dlang-bot — 2024-10-02T22:56:41Z
dlang/dmd pull request #16885 "fix bugzilla 21995 Struct with size uint.max or greater causes ICE" was merged into master: - 2595b71540a03bbeba55cf6f8d7a0a933deb1599 by Walter Bright: fix bugzilla 21995 Struct with size uint.max or greater causes ICE https://github.com/dlang/dmd/pull/16885