[dpdk-dev] [PATCH] devtools: forbid variable declaration inside for
Thomas Monjalon
thomas at monjalon.net
Mon Mar 23 14:47:07 CET 2020
23/03/2020 14:40, David Marchand:
> On Mon, Feb 17, 2020 at 11:27 PM Thomas Monjalon <thomas at monjalon.net> wrote:
> >
> > Some compilers raise an error when declaring a variable
> > in the middle of a function. This is a C99 allowance.
> > Even if DPDK switches globally to C99 or C11 standard,
> > the coding rules are for declarations at the beginning
> > of a block:
> > http://doc.dpdk.org/guides/contributing/coding_style.html#local-variables
> >
> > This coding style is enforced by adding a check of
> > the common patterns like "for (int i;"
> >
> > The occurrences of the checked pattern are fixed:
> > 'for *(\(char\|u\?int\|unsigned\)'
>
> You missed size_t:
> drivers/common/mlx5/mlx5_glue.c: for (size_t i = 0; i < num_actions; i++)
Good catch, thanks.
[..]
> > --- a/devtools/checkpatches.sh
> > +++ b/devtools/checkpatches.sh
> > + # forbid variable declaration inside "for" loop
> > + awk -v FOLDERS='.' \
> > + -v EXPRESSIONS='for *\\((char|u?int|unsigned)' \
>
> + s?size_t
OK
> > + -v RET_ON_FAIL=1 \
> > + -v MESSAGE='Declaring a variable inside for()' \
> > + -f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \
> > + "$1" || res=1
> > +
>
> Just a note, base drivers imported "as is" will probably trigger warnings.
Yes, base drivers don't comply with coding rules and trigger lots of warnings.
More information about the dev
mailing list