Re: [PATCH RFC] checkpatch: flag split arithmetic operations with CHECK

From: Nicholas Mc Guire
Date: Tue May 05 2015 - 10:09:09 EST


On Tue, 05 May 2015, Andy Whitcroft wrote:

> On Tue, May 05, 2015 at 10:53:36AM +0200, Nicholas Mc Guire wrote:
> > Simple arithmetic operations should be on one line, if they can be fit,
> > rather than splitting at the operator. As this is not in the CodingStyle it
> > is limited to --strict use of checkpatch.pl and emits a CHECK only.
> >
> > Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
> > ---
> >
> > Patches by people like me splitting arithmetic operations, e.g.:
> > hdw->encoder_run_timer.expires = jiffies +
> > msecs_to_jiffies(TIME_MSEC_ENCODER_OK);
> > were flagged by Joe Perches but checkpatch.pl was not fussing, not even
> > with --strict. This extension should flag such lines as CHECK only, as
> > this is not mandated by the CodingStyle and in some cases they are
> > justified (e.g. kernel/sched/fair.c:760 and a few other examples in that
> > file)
> >
> > Limitation: this is for + and - only still have to figure out some false
> > positives for the * and /, % ($Arithmetic) case.
>
> I assume that these relate to being able to confirm the variant of the
> operator, unary/binary etc. If you look for "annotate_values", after
> that is run there is additional information for each character of the
> current line, tracking the type of the operator. This is used when
> determining spacing for + etc later as unary ones are typically tight
> bound and binary ones spaced out. You might find that useful, if that
> is your issue. And indeed you might find it useful for determining if
> the +/- you find at line end is indeed unary. Running with --debug
> values=1 should dump out the variants information for those.
>
thanks - looks like a useful (somewhat cryptic) starting point

15 > . x = y - x
15 > EEEVVNNVVNNTTT
15 > ________B____

will give it a try to generalize it for all basic binary operators.

thx!
hofrat
--
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/