Bug 9908 – (D1 only) CTFE ICE global static array with block initializer

Status
RESOLVED
Resolution
WONTFIX
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
All
OS
All
Creation time
2013-04-08T21:27:00Z
Last change time
2013-11-24T20:05:19Z
Keywords
CTFE, ice
Assigned to
nobody
Creator
clugdbug

Comments

Comment #0 by clugdbug — 2013-04-08T21:27:07Z
static const int[3] sa1 = 1; bool blah() { return sa1 == [1,1,1]; } static assert(blah()); -- bug.d(7): Error: CTFE internal error: bad compare dmd: ctfeexpr.c:1297: int ctfeRawCmp(Loc, Expression*, Expression*): Assertion `0' failed.
Comment #1 by github-bugzilla — 2013-04-09T02:09:06Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/1af616467ec0cda89501f9d2a130f9b4b811628c Fix issue 9908 CTFE ICE block initialized global static array Specify the required type, so that T[n] arr = x it is converted into T[n] arr = [x,x,x]. https://github.com/D-Programming-Language/dmd/commit/679b743f97aeb5c6fdf2d9d3f8e60965224331dd Merge pull request #1878 from donc/ice9908ctfeblockinit Fix bug 9908 CTFE ICE block initialized global static array
Comment #2 by k.hara.pg — 2013-04-09T02:09:49Z
Fixed in D2.
Comment #3 by k.hara.pg — 2013-11-24T20:05:19Z
D1 is not supported anymore.