Messages in this thread | | | Date | Thu, 7 Nov 2002 17:33:49 -0800 | From | Richard Henderson <> | Subject | Re: [PATCH] eliminate compile warnings |
| |
As for the patch itself, it's not correct. At a glance,
> addr = arch_get_unmapped_area_1 (PAGE_ALIGN(addr), len, limit); > - if (addr != -ENOMEM) > + if (addr != (unsigned) -ENOMEM)
addr is unsigned long. If you truncate -ENOMEM to 32-bits, it will never match. There appears to be much more int/long confusion later.
You have to be /exceedingly/ careful to fix these warnings without introducing new bugs. If you change the type of a variable, you have to examine each and every use of the variable to determine if the semantics are unchanged. If you add a cast, you have to be sure that you cast to a type of the correct width. If you're adding lots of casts, you should think about changing the type of one or more variables.
It's enough to make me wish we had -Wno-sign-compare in CFLAGS by default for the nonce. Which, incidentally, is what I've been doing for my own builds.
There's absolutely no way I'm going to apply a jumbo patch that changes hundreds of these at once. If you still want to fix these, then you'll need to send them one at a time and include analysis of why each change is correct.
r~ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |