← Back to index
|
Original Bugzilla link
Bug 15816 – ICE void ddmd.dclass.__assert(int) with error: anonymous classes not allowed
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2016-03-21T00:20:00Z
Last change time
2016-03-24T05:12:11Z
Keywords
ice, pull
Assigned to
nobody
Creator
timothee.cour2
Comments
Comment #0
by timothee.cour2 — 2016-03-21T00:20:08Z
reduced test case: see
https://github.com/ldc-developers/ldc/issues/1370#issuecomment-199060304
Comment #1
by timothee.cour2 — 2016-03-21T00:20:56Z
dmd -of=/tmp/d07/temp -o- -c fun1.d fun2.d(1): Error: anonymous classes not allowed
[email protected]
(428): Assertion failure ---------------- 4 dmd 0x000000010022650c _d_assert + 104 5 dmd 0x000000010000210a void ddmd.dclass.__assert(int) + 38 6 dmd 0x000000010002d8ca _ZN16ClassDeclaration8semanticEP5Scope + 242 7 dmd 0x0000000100052b3f _ZN6Module8semanticEv + 111 8 dmd 0x000000010003a230 _ZN6Import8semanticEP5Scope + 416 9 dmd 0x000000010002ed8e _ZN16ClassDeclaration8semanticEP5Scope + 5558 10 dmd 0x0000000100052b3f _ZN6Module8semanticEv + 111 11 dmd 0x00000001000d0552 _Z7tryMainmPPKc + 13834 12 dmd 0x00000001000031f2 _Dmain + 38 13 dmd 0x0000000100235627 D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv + 39 14 dmd 0x000000010023555f void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) + 55 15 dmd 0x00000001002355cc void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() + 44 16 dmd 0x000000010023555f void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) + 55 17 dmd 0x00000001002354b1 _d_run_main + 497 18 dmd 0x000000010000328b main + 15 19 dmd 0x0000000100001817 _start + 229 20 dmd 0x0000000100001730 start + 32 21 ??? 0x0000000000000004 0x0 + 4
Comment #2
by k.hara.pg — 2016-03-23T15:09:49Z
https://github.com/D-Programming-Language/dmd/pull/5565
Comment #3
by github-bugzilla — 2016-03-24T05:12:11Z
Commits pushed to master at
https://github.com/D-Programming-Language/dmd
https://github.com/D-Programming-Language/dmd/commit/0480c90718a73af2cefc39ae92828b7555e9a797
fix Issue 15816 - ICE void ddmd.dclass.__assert(int) with error: anonymous classes not allowed An invalid anonymous class declaration has no chance to get internal `ident` (= "__anonclassXX"), because its `parent` is set by `Dsymbol.addMember` before the `semantic` is invoked. Name all `ClassDeclaration` instances during the constructions, then the problematic assertion can be removed.
https://github.com/D-Programming-Language/dmd/commit/fc3beb0e1b1d36eabe090d73db2829ad02975c75
Merge pull request #5565 from 9rnsr/fix15816 Issue 15816 - ICE void ddmd.dclass.__assert(int) with error: anonymous classes not allowed