[RFC]: (void)0 instead of empty defines
Sam Leffler
sam at freebsd.org
Mon Jun 15 19:51:57 UTC 2009
Marcel Moolenaar wrote:
>
> On Jun 15, 2009, at 11:58 AM, Roman Divacky wrote:
>
>>> Are you saying that:
>>>
>>> if (cond)
>>> ;
>>>
>>> is considered worthy of a warning by the compiler? Is it just "if" or
>>> all conditional control constructs (e.g. while)?
>>>
>>> I can image many instances of this construct arising from debugging
>>> facilities. This sounds like a stupid restriction and I would argue we
>>> should just disable the warning.
>>
>> it already found a bug in csup (recently fixed by lulf). It sure can be
>> disabled but I'd like it to be discussed a little bit more as it already
>> proved to be useful.
>
> If the patch is all we need to compile the kernel with the warning
> enabled and knowing that the warning has already found real bugs,
> then it's a no-brainer to me: commit.
>
The patch is incomplete in that it only changes code that makes clang
kvetch. There are many other instances in the tree of using #defines
for debug facilities and leaving them empty when disabled that this
patch does not address.
What this change effectively does is impose a new element of style to
deal w/ a compiler idiosynchrocy (and/or compilation option). While I
can agree finding bugs is good I don't see this as a reason to add this
requirement. We could just as easily enable various gcc options and
require other coding conventions. Furthermore we have other tools that
are supposed to find things like this (e.g. coverity) but they are not
being used.
Sam
More information about the freebsd-current
mailing list