On Mon, 2018-10-08 at 09:31 +0200, Miguel Ojeda wrote:
> On Mon, Oct 8, 2018 at 4:01 AM Jason A. Donenfeld <[email protected]> wrote:
> > The shiny new .clang-format file lists a number of nice iterators in
> > the ForEachMacros category, the consequence being that there is a
> > space between the iterator name and the opening parenthesis. This
> > strikes me as the right thing to do.
 
It does not strike me as the right thing to do.

Keeping an exhaustive list current is a continuing
burden and the list generally goes stale over time.

> > However, checkpatch.pl complains about it:
> > 
> > WARNING: space prohibited between function name and open parenthesis '('
> > #65: FILE: ratelimiter.c:65:
> > +               hlist_for_each_entry_safe (entry, temp, &table_v4[i], hash) 
> > {
> > 
> > It would seem that .clang-format is right and checkpatch.pl is wrong?
> 
> Checking quickly, it would seem most of the kernel does not put a
> space there (a minority does), e.g.:
> 
>   git grep 'list_for_each[a-zA-Z0-9_]* (' | wc -l # 67
>   git grep 'list_for_each[a-zA-Z0-9_]*(' | wc -l # 13892
> 
> So in that sense, checkpatch.pl is right (even if it is not a function call).

As a general rule, I believe any dominant coding style
is correct. These things are just a convention.

.clang-format is a work in progress and should be updated
where possible to reflect the kernel dominant styles.

> We would probably need to implement SpaceBeforeForEachMacros (or a new
> option for SpaceBeforeParens). I haven't had the time to look into
> adding the missing support for the few things that the kernel style
> requires, sadly, but it is in my TODO list.

Good luck and as you are the .clang_format maintainer,
I hope you find the time.



Reply via email to