Bug 10040 – struct-related ICE

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-05-07T13:57:00Z
Last change time
2013-05-10T09:53:32Z
Keywords
ice, pull, rejects-valid
Assigned to
nobody
Creator
oivind.loe

Attachments

IDFilenameSummaryContent-TypeSize
1212reduced.tar.gzproject reduced with dustmiteapplication/x-gzip2603

Comments

Comment #0 by oivind.loe — 2013-05-07T13:57:02Z
Created attachment 1212 project reduced with dustmite During compile of my project, I got the following error. dmd: struct.c:735: virtual void StructDeclaration::semantic(Scope*): Assertion `type->ty != Tstruct || ((TypeStruct *)type)->sym == this' failed. Aborted (core dumped) I have reduced the project with dustmite, and it now fails with more errors, but the error above is still present. To reproduce: extract and run "make clean && make" in the extracted directory.
Comment #1 by oivind.loe — 2013-05-07T14:00:39Z
I am running on 'master'.. The following commit: commit 08faebacecae721246ad34421db266030cd54b25 Merge: b7b1fc6 bb8b47d Author: Walter Bright <[email protected]> Date: Mon May 6 00:39:32 2013 -0700 Merge pull request #1930 from 9rnsr/new_ufcs Implement proper UFCS name look up
Comment #2 by k.hara.pg — 2013-05-09T18:47:24Z
https://github.com/D-Programming-Language/dmd/pull/2000 ---- Reduced test case(test.d): struct MsgProc1 { mixin MsgMixin; } struct MsgProc2 { mixin MsgMixin; } struct MsgHeader {} template MsgMixin() { mixin(mixinMembers!(MsgHeader.init)); } string mixinMembers(T ...)() { struct Op {} return null; } ---- Command line: dmd -o- test.d
Comment #3 by github-bugzilla — 2013-05-10T01:30:40Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/5db1848cc9e33663c41763f87b9a0951c95e5e6b fix Issue 10040 - struct-related ICE The second instantiation of `mixinMembers!(MsgHeader.init)` is incorrectly judged as not identical with the first one, by the lack of `StructLiteralExp::equals`. https://github.com/D-Programming-Language/dmd/commit/526b57d803d153aa842ec8ba549c4dea8ff7c0aa Merge pull request #2000 from 9rnsr/fix10040 [REG2.063a] Issue 10040 - struct-related ICE