Bug 13831 – DMD crash on newing struct with overlapped fields in CTFE

Status
RESOLVED
Resolution
FIXED
Severity
critical
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2014-12-07T23:38:00Z
Last change time
2015-02-18T03:41:03Z
Keywords
CTFE, ice, pull
Assigned to
nobody
Creator
mrsmith33

Attachments

IDFilenameSummaryContent-TypeSize
1459_usr_bin_dmd.1000.crashCrash dumptext/plain250845

Comments

Comment #0 by mrsmith33 — 2014-12-07T23:38:48Z
Crashes both on windows and linux, both m32 and m64. Tested with 2.066, 2.066.1, master --- struct Vector() { } struct ChunkCoord { union { struct { short x; } Vector!() vector; } } struct Chunk { this(ChunkCoord) { coord = coord; } ChunkCoord coord; static Chunk* unknownChunk = new Chunk(ChunkCoord()); } ---
Comment #1 by mrsmith33 — 2014-12-07T23:57:09Z
Created attachment 1459 Crash dump
Comment #2 by k.hara.pg — 2014-12-09T13:30:57Z
Comment #3 by github-bugzilla — 2014-12-11T03:24:05Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/5266a05512f833b6628bc288d1aa6f29876856db fix Issue 13831 - DMD crash on newing struct with overlapped fields in CTFE https://github.com/D-Programming-Language/dmd/commit/048a508ea139dfa15bc1057bca886cbf8718e302 Merge pull request #4205 from 9rnsr/fix13831 Issue 13831 - DMD crash on newing struct with overlapped fields in CTFE
Comment #4 by github-bugzilla — 2015-02-18T03:41:03Z