Bug 1981 – ICE(cgcod.c 1523) -O -inline -release, no test case
Status
RESOLVED
Resolution
DUPLICATE
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
x86
OS
Windows
Creation time
2008-04-09T21:25:00Z
Last change time
2014-02-24T15:33:21Z
Keywords
ice-on-valid-code
Assigned to
bugzilla
Creator
sjguy
Comments
Comment #0 by sjguy — 2008-04-09T21:25:13Z
I can only get it to happen with my full code base ~2,000 lines, if I can find a smaller failure case I'll post it. The problem seems to be very fragile. If I don't inline it goes away, if I don't use release mode it goes away, or if I don't optimize it goes away...it only happens with all 3 options enabled.
Also if I switch from:
bool func(float2f s, float2f e){
bool retval = false;
retval |= foo(s, e, a, b);
retval |= foo(s, e, b, c);
retval |= foo(s, e, c, a);
return retval;
}
To:
bool func(float2f s, float2f e){
bool retval = false;
retval = foo(s, e, c, a) || foo(s, e, b, c) || foo(s, e, a, b);
return retval;
}
The problem goes away.
This may be related to: http://d.puremagic.com/issues/show_bug.cgi?id=1709
Comment #1 by clugdbug — 2009-06-02T16:31:01Z
Unfortunately neither 1981 nor 1709 has a test case. Almost certainly a duplicate.
*** This issue has been marked as a duplicate of issue 1709 ***