Re: [PATCH] Cast removal

From: Jan Engelhardt
Date: Fri Oct 06 2006 - 01:38:54 EST



>> I find this one interesting, as we've put a number of them into the
>> ACPICA core:
>>
>> - (void) kmem_cache_destroy(cache);
>> + kmem_cache_destroy(cache);
>>
>> I believe that the point of the (void) is to prevent lint from
>> squawking, and perhaps some picky ANSI-C compilers. What is the overall
>> Linux policy on this?
>
>policy = not;
>
>But there's quite a lot of it in the tree.

So what to do? GCC does not squawk, and instead has
__attribute__((warn_unused_result)) in case someone should be made aware
that a certain return value really needs to be examined.

Not even the Turbo C/C++ compiler from 1990 requires either of
from/to-void* or to-void casts.

>Actually.. kmem_cache_destroy() returns void, so any checker which complains
>about the missing cast needs a stern talking to.

Ok, so the (void) can definitely go away for functions that actually
return void, but what for the others? I am inclined that all lints
should be fixed, or be sort-of discarded, since linting is slowly going
back into [at least one] compiler.


-`J'
--
-
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/