[Issue 6228] New: ICE(e2ir.c:1323, 2.053) on {auto x = (*ptr) ^^ y} with const integer types
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Jun 29 18:21:58 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6228
Summary: ICE(e2ir.c:1323, 2.053) on {auto x = (*ptr) ^^ y} with
const integer types
Product: D
Version: D2
Platform: Other
OS/Version: Windows
Status: NEW
Keywords: ice-on-valid-code
Severity: regression
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: sandford at jhu.edu
--- Comment #0 from Rob Jacques <sandford at jhu.edu> 2011-06-29 18:17:01 PDT ---
This ICE is a regression between DMD 2.052 and DMD 2.053. It occurs when a
point to a const integer type is raised to the power of const integer type.
i.e.
void main(string[] args) {
const(int)* ptr;
const(int) temp;
auto x = (*ptr) ^^ temp;
}
which results in the error:
const(int) 02871BB0
const(int) 02871BB0
ty = 19, tym = 4a
Internal error: e2ir.c 1323
this effects other integer types at the same line location but with different
ty and tym values. The ty and tym values seem to be specific to ptr's type. The
ICE doesn't occur for reals or if temp is not a const integer. Other
rearrangements of the code, such as
auto x = __temp ^^ __temp;
auto x = __temp ^^ (*__ptr);
auto x = (*__ptr) ^^ (*__ptr);
do not ICE.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list