This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug java/27756] ICE in update_aliases, at java/decl.c:192
- From: "aph at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 May 2006 10:20:23 -0000
- Subject: [Bug java/27756] ICE in update_aliases, at java/decl.c:192
- References: <bug-27756-360@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from aph at gcc dot gnu dot org 2006-05-26 10:20 -------
I have found the real cause of these weird non-nested variable ranges.
It's because ecj reorganizes for loops in this way:
for (a; b; c)
{
foo;
}
becomes
goto barf;
do
{
foo;
c;
barf:
a;
if (!b)
goto x;
} forever;
x:
And this movement of the for body causes variable ranges to be discontinuous.
Duplicate variable definitions are issued.
It would be very nice if ecj could be prevented from doing this, at least for
the purpose of acting as a gcj front end.
--
aph at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2006-05-26 10:20:22
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27756