Bug 6907 – ice(interpret.d) delete expressions crash interpreter

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2011-11-07T23:50:00Z
Last change time
2016-03-19T20:22:01Z
Keywords
CTFE, ice, pull
Assigned to
nobody
Creator
clugdbug

Comments

Comment #0 by clugdbug — 2011-11-07T23:50:21Z
Although they're not much use, there doesn't seem to be a compelling reason to disallow them. The spec gets shorter if they're allowed.
Comment #1 by yebblies — 2015-12-10T10:54:41Z
The compiler currently crashes, since at least 2.066. int ice6097a() { scope o = new Object(); return 1; } int ice6097b() { Object o; delete o; return 1; } static assert(ice6097a()); static assert(ice6097b()); At the very least they should not crash.
Comment #2 by k.hara.pg — 2015-12-15T05:15:12Z
Comment #3 by github-bugzilla — 2016-01-31T16:05:30Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/bf995651b5a32592081ec1af70218e2a0427f862 fix Issue 6907 - ice(interpret.d) delete expressions crash interpreter Implement `delete` operation in CTFE. https://github.com/D-Programming-Language/dmd/commit/18ed97b49f5a4fceb09caf3801869875f1df9f03 Merge pull request #5310 from 9rnsr/fix6907 Issue 6907 - ice(interpret.d) delete expressions crash interpreter
Comment #4 by github-bugzilla — 2016-03-19T20:22:01Z