KernelTrap: GCC, Useful Versus Useless Warnings
Nov 30, 2006, 11:30 (5 Talkback[s])
"Linux creator Linus Torvalds proclaimed, 'friends don't let
friends use '-W',' in a thread discussing GCC's handling of
warnings. The thread began with a patch to remove an unnecessary
comparison of an unsigned variable which resulted in a GCC warning,
'comparison of unsigned expression < 0 is always false.' Linus
suggested it is better to write readable and obvious code, 'without
having to carry stupid context around in our heads.' He went on to
add, 'if the compiler (whose _job_ it is to carry all that context
and use it to generate good code) notices that the fact that 'x' is
unsigned means that one of the tests is unnecessary, that does not
make it wrong.' As has been noted in several earlier lkml
discussions, Linus concluded, 'Gcc warns for a lot of wrong things.
This is one of them...'"