Bug 1947 – ICE (Assertion failure: '0' on statement.c:123) with null mixin

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2008-03-26T08:44:00Z
Last change time
2015-06-09T01:14:38Z
Keywords
ice-on-valid-code
Assigned to
bugzilla
Creator
bruno.do.medeiros+deebugz

Comments

Comment #0 by bruno.do.medeiros+deebugz — 2008-03-26T08:44:35Z
string logm() { return ""; } void main() { ({ }); mixin(logm()); }
Comment #1 by clugdbug — 2008-05-27T05:04:01Z
Renaming this from "ICE (Assertion failure: '0' on statement.c:123) with delegate literal and CTFE mixin." This has nothing to do with delegate literals. Here's a simpler test case: ---- void main() { mixin(null); } --- On DMD 1.030, this produces: bug.d(3): Error: argument to mixin must be a string, not (null) but on DMD 2, it ICEs with: bug.d(3): Error: argument to mixin must be a string, not (null) Statement::blockExit(009988FC) mixin(null); Assertion failure: '0' on line 123 in file 'statement.c' abnormal program termination Interestingly, ---- mixin(null); --- produces an error on *both* DMD1 and DMD2: attribute argument to mixin must be a string, not (null) which has a missing line number. So there are two different but related bugs, one on DMD 2 only, one which is common.
Comment #2 by clugdbug — 2008-06-18T10:39:11Z
Seems to have been fixed in 2.015. Missing line number error moved to bugzilla #1947.
Comment #3 by clugdbug — 2008-06-18T10:39:39Z
Seems to have been fixed in 2.015. Missing line number error moved to bugzilla #2153.
Comment #4 by bugzilla — 2008-06-22T18:53:43Z
Fixed dmd 2.015