On Tue, Nov 24, 2020 at 2:36 AM Julia Lawall wrote: > > > On Wed, 18 Nov 2020, Sumera Priyadarsini wrote: > > > The command "make coccicheck C=1 CHECK=scripts/coccicheck" results in the > > error: > > ./scripts/coccicheck: line 65: -1: shift count out of range > > > > This happens because every time the C variable is specified, > > the shell arguments need to be "shifted" in order to take only > > the last argument, which is the C file to test. These shell arguments > > mostly comprise flags that have been set in the Makefile. However, > > when coccicheck is specified in the make command as a rule, the > > number of shell arguments is zero, thus passing the invalid value -1 > > to the shift command, resulting in an error. > > > > Modify coccicheck to print correct usage of make coccicheck so as to > > avoid the error. > > > > Signed-off-by: Sumera Priyadarsini > > --- > > Changes in v2: > > - Move test to only display error message > > --- > > scripts/coccicheck | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/scripts/coccicheck b/scripts/coccicheck > > index 209bb0427b43..f3b8bf505c5f 100755 > > --- a/scripts/coccicheck > > +++ b/scripts/coccicheck > > @@ -61,6 +61,18 @@ COCCIINCLUDE=${COCCIINCLUDE// -include/ --include} > > if [ "$C" = "1" -o "$C" = "2" ]; then > > ONLINE=1 > > > > + if [[ $# -le 0 ]]; then > > + echo '' > > + echo 'Specifying both the variable "C" and rule "coccicheck" > in the make > > +command results in a shift count error.' > > + echo '' > > + echo 'Try specifying "scripts/coccicheck" as a value for the > CHECK variable instead.' > > + echo '' > > + echo 'Example: make C=2 CHECK=scripts/coccicheck > drivers/staging/wfx/hi_t.o' > > I think that this file doesn't exist any more. Even though you can't > guarantee that any particular file will be around forever, a file in > staging is probably not a good choice, since they are usually on their way > in or on the way out of the kernel. > Fair, I will send a v3 with a better example. regards, sumera > julia > > > + echo '' > > + exit 1 > > + fi > > + > > # Take only the last argument, which is the C file to test > > shift $(( $# - 1 )) > > OPTIONS="$COCCIINCLUDE $1" > > -- > > 2.25.1 > > > > _______________________________________________ > > Cocci mailing list > > Cocci@systeme.lip6.fr > > https://systeme.lip6.fr/mailman/listinfo/cocci > > >