lkml.org 
[lkml]   [2018]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: list iterator spacing: clang-format vs checkpatch
From
Date
On Mon, 2018-10-08 at 09:31 +0200, Miguel Ojeda wrote:
> On Mon, Oct 8, 2018 at 4:01 AM Jason A. Donenfeld <Jason@zx2c4.com> 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.



\
 
 \ /
  Last update: 2018-10-08 17:40    [W:0.288 / U:26.380 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site