Bug 12497 – [REG2.064] ICE on string mixin with non-string operand

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2014-03-31T01:54:00Z
Last change time
2014-03-31T02:48:07Z
Keywords
accepts-invalid, ice, pull
Assigned to
nobody
Creator
k.hara.pg

Comments

Comment #0 by k.hara.pg — 2014-03-31T01:54:36Z
Test case: void foo() {} void main() { struct S { mixin(foo()); // MixinDeclaration } mixin(foo()); // MixinStatement } With 2.063: test.d(6): Error: cannot evaluate foo() at compile time test.d(6): Error: argument to mixin must be a string, not (foo()) test.d(8): Error: cannot evaluate foo() at compile time test.d(8): Error: argument to mixin must be a string, not (foo()) test.d(8): Error: cannot evaluate foo() at compile time test.d(8): Error: argument to mixin must be a string, not (foo()) With 2.064: (no error) With 2.065: Assertion failure: 'global.gaggedErrors || global.errors' on line 293 in file 'statement.c' abnormal program termination
Comment #1 by k.hara.pg — 2014-03-31T01:58:47Z
Comment #2 by github-bugzilla — 2014-03-31T02:46:15Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/aac09e539f7c3d9bd882d05f5c331f64733c6a29 fix Issue 12497 - ICE on string mixin with non-string operand https://github.com/D-Programming-Language/dmd/commit/75159e4555bcbf3e7e07227348e44f7f32c59ff6 Merge pull request #3413 from 9rnsr/fix12497 [REG2.064] Issue 12497 - ICE on string mixin with non-string operand