no warning on mixing unsigned and signed

Neil Booth neil@daikokuya.demon.co.uk
Tue Mar 19 23:47:00 GMT 2002


Peter Barada wrote:-

> 
> I been alerted to a bug in gcc-3.0.4 and 2.96(yeah, I know its a
> release from RH, but I don't have a 2.95.3 version handy), the
> following code when built using '-O -Wall' doesn't warn that the
> comparison can not be false, and converts 'foo' into an empty function
> since (a-b) can not be negative: 
> 
> extern void bar(void);
> void foo(int a, unsigned int b)
> {
>   if ((a - b) < 0)
>     bar();
> }

Please file a PR, otherwise your testcase will be lost I fear.

http://gcc.gnu.org/bugs.html

Neil.



More information about the Gcc mailing list