Re: Warnings building 2.4.22rc2 with gcc 3.3

From: Willy Tarreau
Date: Mon Aug 11 2003 - 10:55:28 EST


On Mon, Aug 11, 2003 at 01:54:53AM -0700, Alex Davis wrote:
> When I build 2.4.22rc2 with gcc 3.3, I get the following warnings
>
>
> vt.c:166: warning: comparison is always false due to limited range of data type
> vt.c:283: warning: comparison is always false due to limited range of data type
> keyboard.c:644: warning: comparison is always true due to limited range of data type
>
> It seems an unsigned char is being compared with 256, which always returns false.

For keyboard.c, the test is :

if (value < SIZE(func_table)) {

so it's reassuring that any value is contained in the table. We could hide
the warning with a cast of value to (int).

for vt.c, it's the same concept, some bounds are enforced on some values, and
in the event they would be violated, -EINVAL would be returned. So the check,
even if useless here, has some sense. Here again, a cast could hide the
warnings, but may generate useless code.

Cheers,
Willy

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/