On Wed, 4 Oct 2017 12:59:04 +0300 Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> wrote:
> 04.10.2017 01:00, Alex Williamson wrote: > > Commit c3e5875afc0f ("checkpatch: check trace-events code style") > > introduces a regression as reported: > > > > https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg05820.html > > > > Bareword found where operator expected at ./scripts/checkpatch.pl line > > 1350, near "s/($hex[.:\/ ])+$hex//gr" > > syntax error at ./scripts/checkpatch.pl line 1350, near "s/($hex[.:\/ > > ])+$hex//gr" > > Execution of ./scripts/checkpatch.pl aborted due to compilation errors. > > > > $ perl -v > > > > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > v5.10.1 is 8 years old. > most possibly the error relates to /r modifier, which was added int > perl 5.14, so, possible solution would be > > @@ -1432,7 +1432,8 @@ sub process { > qr/%[-+ > *.0-9]*([hljztL]|ll|hh)?(x|X|"\s*PRI[xX][^"]*"?)/; > > # don't consider groups splitted by [.:/ ], like > 2A.20:12ab > - my $tmpline = $rawline =~ s/($hex[.:\/ ])+$hex//gr; > + my $tmpline = $rawline; > + my $tmpline =~ s/($hex[.:\/ ])+$hex//g; > > if ($tmpline =~ /(?<!0x)$hex/) { > ERROR("Hex numbers must be prefixed with '0x'\n" . Yes, that fixes it. > > > > As no fix or discussion has resulted, revert the original patch. > > Sorry for no answer on your report No worries, this seems to have gotten the job done. Please post the patch above and I withdraw my revert. Thanks, Alex > > > > Cc: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> > > Cc: Stefan Hajnoczi <stefa...@redhat.com> > > Fixes: c3e5875afc0f ("checkpatch: check trace-events code style") > > Signed-off-by: Alex Williamson <alex.william...@redhat.com> > > --- > > scripts/checkpatch.pl | 19 ------------------- > > 1 file changed, 19 deletions(-) > > > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > > index 3c0a28e644aa..f7e785d12a49 100755 > > --- a/scripts/checkpatch.pl > > +++ b/scripts/checkpatch.pl > > @@ -1422,25 +1422,6 @@ sub process { > > $rpt_cleaners = 1; > > } > > > > -# checks for trace-events files > > - if ($realfile =~ /trace-events$/ && $line =~ /^\+/) { > > - if ($rawline =~ /%[-+ 0]*#/) { > > - ERROR("Don't use '#' flag of printf format > > ('%#') in " . > > - "trace-events, use '0x' prefix instead\n" > > . $herecurr); > > - } else { > > - my $hex = > > - qr/%[-+ > > *.0-9]*([hljztL]|ll|hh)?(x|X|"\s*PRI[xX][^"]*"?)/; > > - > > - # don't consider groups splitted by [.:/ ], > > like 2A.20:12ab > > - my $tmpline = $rawline =~ s/($hex[.:\/ > > ])+$hex//gr; > > - > > - if ($tmpline =~ /(?<!0x)$hex/) { > > - ERROR("Hex numbers must be prefixed > > with '0x'\n" . > > - $herecurr); > > - } > > - } > > - } > > - > > # check we are in a valid source file if not then ignore this hunk > > next if ($realfile !~ /\.(h|c|cpp|s|S|pl|py|sh)$/); > > > > > >