Bug 11332 – ICE(dt.c) and missing error when interpreting an unimplemented builtin

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-10-23T09:48:00Z
Last change time
2013-11-14T08:50:40Z
Keywords
CTFE, diagnostic, ice, pull
Assigned to
nobody
Creator
bearophile_hugs

Comments

Comment #0 by bearophile_hugs — 2013-10-23T09:48:36Z
import std.algorithm: map; import std.math: log; import std.array: array; double[3] a = [1].map!log.array; void main() {} dmd 2.064beta2 gives: ...\dmd2\src\phobos\std\algorithm.d(462): called from here: log(cast(real)front(this._input)) ...\dmd2\src\phobos\std\array.d(41): called from here: __r10.front() test.d(4): called from here: array(map([1])) Internal error: backend\dt.c 106
Comment #1 by yebblies — 2013-11-14T06:40:48Z
Reduced: import core.math : yl2x; void main() { static x = yl2x(0, 0); } This fails to produce an error about yl2x not being implemented, and therefore proceeds to codegen, causing the ice. https://github.com/D-Programming-Language/dmd/pull/2764
Comment #2 by github-bugzilla — 2013-11-14T08:50:40Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/3d7c9b78eed81e9eaf347c6e3cd877e187009ff0 Fix Issue 11332 - ICE(dt.c) and missing error when interpreting an unimplemented builtin https://github.com/D-Programming-Language/dmd/commit/e2faabf5a46b425b0e1034f383c7d870f762a92f Merge pull request #2764 from yebblies/issue11332 Issue 11332 - ICE(dt.c) and missing error when interpreting an unimplemented builtin