Bug 12500 – ICE in codegen when multiplying an incremented size_t by a double

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
All
Creation time
2014-03-31T12:18:00Z
Last change time
2015-02-21T09:11:39Z
Keywords
ice, pull
Assigned to
nobody
Creator
zorael

Comments

Comment #0 by zorael — 2014-03-31T12:18:33Z
[dmd from git; v2.066-devel-75159e4] void main() { size_t foo; ++foo *= 1.5; } --> Internal error: backend/cgcs.c 221
Comment #1 by andrej.mitrovich — 2014-04-01T03:40:35Z
I can't reproduce with using latest git-head: f92062c
Comment #2 by andrej.mitrovich — 2014-04-01T03:41:15Z
(In reply to comment #1) > I can't reproduce with using latest git-head: f92062c Sorry, wrong! With -m64 I can: C:\dev\code\d_code> dmd -m64 test.d DMD v2.066 DEBUG el:01341804 cnt=0 cs=0 <<= TYuns long long 013417C4 01341844 el:013417C4 cnt=0 cs=0 ? TYdouble 01341C44 01341E44 el:01341C44 cnt=0 cs=0 >= TYint 01341784 01341C04 el:01341784 cnt=0 cs=0 var TYlong long foo el:01341C04 cnt=0 cs=0 const TYlong long 0LL el:01341E44 cnt=0 cs=0 colon TYdouble 01341C84 01341E04 el:01341C84 cnt=0 cs=0 s64_d TYdouble 01341B84 el:01341B84 cnt=0 cs=0 var TYlong long foo el:01341E04 cnt=0 cs=0 + TYdouble 01341D44 01341DC4 el:01341D44 cnt=0 cs=0 s64_d TYdouble 01341D04 el:01341D04 cnt=0 cs=0 & TYlong long 01341BC4 01341CC4 el:01341BC4 cnt=0 cs=0 var TYlong long foo el:01341CC4 cnt=0 cs=0 const TYlong long 9223372036854775807LL el:01341DC4 cnt=0 cs=0 var mTYconst|TYdouble _TMP0 el:01341844 cnt=0 cs=0 const TYint 0L Internal error: backend\cgcs.c 221
Comment #3 by k.hara.pg — 2015-02-16T15:35:30Z
Comment #4 by github-bugzilla — 2015-02-18T03:03:06Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/6aa6cc06907c44b8e449e7032389738465db7fa6 fix Issue 12500 - ICE in codegen when multiplying an incremented size_t by a double Move lvalue-ness handling of BinAssignExp into glue layer. https://github.com/D-Programming-Language/dmd/commit/b1859419c236871ede849dcd615999953ea440a9 Merge pull request #4415 from 9rnsr/fix12500 Issue 12500 - ICE in codegen when multiplying an incremented size_t by a double
Comment #5 by github-bugzilla — 2015-02-21T09:11:39Z