optimization/9123: [3.2/3.3/3.4 regression ] Internal compiler error in do_SUBST at combine.c:434

Eric Botcazou ebotcazou@libertysurf.fr
Fri Mar 28 10:39:00 GMT 2003


The following reply was made to PR optimization/9123; it has been noted by GNATS.

From: Eric Botcazou <ebotcazou@libertysurf.fr>
To: jason@gcc.gnu.org
Cc: gcc-bugs@gcc.gnu.org,
 khindenburg@cherrynebula.net,
 nobody@gcc.gnu.org,
 gcc-gnats@gcc.gnu.org
Subject: Re: optimization/9123: [3.2/3.3/3.4 regression ] Internal compiler error in do_SUBST at combine.c:434
Date: Fri, 28 Mar 2003 11:17:31 +0100

 >     Not a c++-specific bug; it's dying because it's trying to substitute
 > (unsigned char)-1 for a QI reg, but combine doesn't like that because
 > (HOST_WIDE_INT)255 != (HOST_WIDE_INT)-1.  Here's a C testcase:
 >
 >     typedef unsigned char T;
 >     inline T clamp (T in, T min, T max)
 >     {
 >       return in <= min ? min : in >= max ? max : in;
 >     }
 >     unsigned char f (int i)
 >     {
 >       return clamp (i, 0, 255);
 >     }
 
 On which versions and with which options does this C testcase fail?
 
 -- 
 Eric Botcazou



More information about the Gcc-prs mailing list