[Bug c/11449] [3.4 Regression] ICE in invert_truthvalue called on AND operation

falk dot hueffner at student dot uni-tuebingen dot de gcc-bugzilla@gcc.gnu.org
Mon Jul 7 11:13:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11449



------- Additional Comments From falk dot hueffner at student dot uni-tuebingen dot de  2003-07-07 11:13 -------
Subject: Re:  [3.4 Regression] ICE in invert_truthvalue called on AND operation

"pinskia at physics dot uc dot edu" <gcc-bugzilla@gcc.gnu.org> writes:

> int func()
> {
>     int m = 0;
>     return (!(m & (1<<31)));
> }
> 
> I can confirm this on the mainline (20030706 and 20030705) and the
> tree-ssa branch (20030706 (merged 20030525)) so it looks like it has
> been there since at least 20030525.  This is definitly a P1.

Hmm, looks like ice-on-invalid-code to me, rather.

6.5.7: E1 << E2: If E1 has a signed type and nonnegative value, and E1
× 2^E2 is representable in the result type, then that is the resulting
value; otherwise, the behavior is undefined.

2^31 is not representable as int.



More information about the Gcc-bugs mailing list