Re: [PATCH 1/1] checkpatch.pl: thou shalt not use () or (...) infunction declarations

From: Jiri Slaby
Date: Thu Mar 22 2012 - 12:55:53 EST


On 03/22/2012 05:49 PM, Valdis.Kletnieks@xxxxxx wrote:
> On Thu, 22 Mar 2012 17:22:33 +0100, Jiri Slaby said:
>> That explanation is not fully correct. C99 explicitly says
>> (6.7.5.3.14): An identifier list declares only the identifiers of
>> the parameters of the function. An empty list in a function
>> declarator that is part of a definition of that function
>> specifies that the function has no parameters. The empty list in
>> a function declarator that is not part of a definition of that
>> function specifies that no information about the number or types
>> of the parameters is supplied.
>>
>> So what you are trying to force here holds only for (forward)
>> declarations. Not for functions with definitions (bodies). Is
>> checkpatch capable to differ between those?
>
> The fact that 'int foo() { /*whatever*/ }' with an empty parameter
> list is *legal* doesn't mean that we can't collectively put our
> foot down and say "This is too ugly to live in our source tree".

Yes. And I even thought that we have this in CodingStyle, but I didn't
find it.

> Is there any *legitimate* use of an empty parameter list in the
> kernel tree?

Yeah, a ton of them. There are many drivers which work with a global
singleton. So they need no argument.

thanks.
-- js suse labs


--
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/