Re: [PATCH] checkpatch: Silence perl 5.26.0 unescaped left brace warnings

From: Joe Perches
Date: Wed Jun 07 2017 - 04:31:21 EST


On Wed, 2017-06-07 at 16:01 +1000, Cyril Bur wrote:
> As of perl 5, version 26, subversion 0 (v5.26.0) some new warnings have
> occurred when running checkpatch.
>
> Unescaped left brace in regex is deprecated here (and will be fatal in
> Perl 5.30), passed through in regex; marked by <-- HERE in m/^(.\s*){
> <-- HERE \s*/ at scripts/checkpatch.pl line 3544.
>
> Unescaped left brace in regex is deprecated here (and will be fatal in
> Perl 5.30), passed through in regex; marked by <-- HERE in m/^(.\s*){
> <-- HERE \s*/ at scripts/checkpatch.pl line 3885.
>
> Unescaped left brace in regex is deprecated here (and will be fatal in
> Perl 5.30), passed through in regex; marked by <-- HERE in
> m/^(\+.*(?:do|\))){ <-- HERE / at scripts/checkpatch.pl line 4374.
>
> It seems perfectly reasonable to do as the warning suggests and simply
> escape the left brace in these three locations.
>
> Signed-off-by: Cyril Bur <cyrilbur@xxxxxxxxx>

Acked-by: Joe Perches <joe@xxxxxxxxxxx>

> ---
> scripts/checkpatch.pl | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 4b9569fa931b..33e50614a5d9 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3541,7 +3541,7 @@ sub process {
> $fixedline =~ s/\s*=\s*$/ = {/;
> fix_insert_line($fixlinenr, $fixedline);
> $fixedline = $line;
> - $fixedline =~ s/^(.\s*){\s*/$1/;
> + $fixedline =~ s/^(.\s*)\{\s*/$1/;
> fix_insert_line($fixlinenr, $fixedline);
> }
> }
> @@ -3882,7 +3882,7 @@ sub process {
> my $fixedline = rtrim($prevrawline) . " {";
> fix_insert_line($fixlinenr, $fixedline);
> $fixedline = $rawline;
> - $fixedline =~ s/^(.\s*){\s*/$1\t/;
> + $fixedline =~ s/^(.\s*)\{\s*/$1\t/;
> if ($fixedline !~ /^\+\s*$/) {
> fix_insert_line($fixlinenr, $fixedline);
> }
> @@ -4371,7 +4371,7 @@ sub process {
> if (ERROR("SPACING",
> "space required before the open brace '{'\n" . $herecurr) &&
> $fix) {
> - $fixed[$fixlinenr] =~ s/^(\+.*(?:do|\))){/$1 {/;
> + $fixed[$fixlinenr] =~ s/^(\+.*(?:do|\)))\{/$1 {/;
> }
> }
>