Messages in this thread | | | Subject | Re: list iterator spacing: clang-format vs checkpatch | From | Joe Perches <> | Date | Mon, 08 Oct 2018 08:40:49 -0700 |
| |
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.
| |