This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/17657] [4.0 Regression] ICE in expand_case
- From: "stevenb at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Oct 2004 13:24:58 -0000
- Subject: [Bug middle-end/17657] [4.0 Regression] ICE in expand_case
- References: <20040924161937.17657.jakub@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From stevenb at suse dot de 2004-10-06 13:24 -------
Subject: Re: [4.0 Regression] ICE in expand_case
> void
> bar (void)
> {
> signed char tmp = foo (0);
> int t1 = tmp;
> switch (t1)
The problem is not the cast, but the fact that here in the source
t1 is an int so the case 255 can match, but somewhere along the
way the switch condition is turned into a signed int.
I claim that is an invalid transformation.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17657