Bug 718 – ICE(cgcod.c) with int /= cast(creal)

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Linux
Creation time
2006-12-22T07:25:00Z
Last change time
2014-02-14T20:35:36Z
Keywords
ice-on-invalid-code, patch
Assigned to
bugzilla
Creator
thomas-dloop

Comments

Comment #0 by thomas-dloop — 2006-12-22T07:25:38Z
Comment #1 by smjg — 2007-09-18T16:07:24Z
A reduced testcase: void test(byte[] data) { data[0] /= cast(cfloat) data.length; } void main(){ byte[1] array; test(array); }
Comment #2 by bugzilla — 2007-11-03T21:43:35Z
Fixed dmd 1.023 and 2.007
Comment #3 by clugdbug — 2009-04-16T03:35:55Z
The bug_cgcod_562_x1 cases have been fixed, but the bug_cgcod_562_x3 cases remain. This bug accounts for 20% of the remaining Dstress cases which ICE. Much simpler test case: void main(){ int x; x/= cast(creal)1; } Internal error: ..\ztc\cgcod.c 564 Applies to DMD2.028 as well.
Comment #4 by clugdbug — 2009-06-09T16:41:07Z
The patch for bug 3059 fixes this.
Comment #5 by clugdbug — 2009-07-21T07:14:26Z
In fact this bug is now 66% of the remaining dstress cases which ICE, and also 10% of the remaining dstress "unexpected pass" errors... Of course, it's pretty ridiculous that Thomas put in 36 test cases for this one bug.
Comment #6 by bugzilla — 2009-10-06T02:11:38Z
Fixed dmd 1.048 and 2.033