Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning
On Sun, 2014-09-21 at 22:08 -0500, Greg Donald wrote: > On Sun, Sep 21, 2014 at 9:31 PM, Joe Perches wrote: > > On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote: > >> Fixing an "open brace '{' following struct go on the same line" error > >> causes a > >> false positive warning "do not add new typedefs". Fix existing typedef > >> false > >> positive warning. > > > > This doesn't work. > > The matching deleted line can be any number of lines above. > > But this fixes the most common case: > > -typedef struct ksock_proto > -{ > +typedef struct ksock_proto { Meh. I think people are smart enough to work out that this is not a new typedef. > If you're wanting to check more than just $rawlines[$linenr - 3], how > far above does it make sense to go? From what I'm seeing the '{' is > usually on the next line. It's not the most common case working, it's the generic case working. It's in a large block being changed, it doesn't work. If it's checking a file, there are no "-" lines. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning
On Sun, Sep 21, 2014 at 9:31 PM, Joe Perches wrote: > On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote: >> Fixing an "open brace '{' following struct go on the same line" error causes >> a >> false positive warning "do not add new typedefs". Fix existing typedef false >> positive warning. > > This doesn't work. > The matching deleted line can be any number of lines above. But this fixes the most common case: -typedef struct ksock_proto -{ +typedef struct ksock_proto { If you're wanting to check more than just $rawlines[$linenr - 3], how far above does it make sense to go? From what I'm seeing the '{' is usually on the next line. -- Greg Donald -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning
On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote: > Fixing an "open brace '{' following struct go on the same line" error causes a > false positive warning "do not add new typedefs". Fix existing typedef false > positive warning. This doesn't work. The matching deleted line can be any number of lines above. > Signed-off-by: Greg Donald > --- > scripts/checkpatch.pl | 16 +--- > 1 file changed, 13 insertions(+), 3 deletions(-) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index 4d08b39..eafe5e7 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -3081,14 +3081,24 @@ sub process { > } > > # check for new typedefs, only function parameters and sparse annotations > -# make sense. > +# and existing typedefs make sense. > if ($line =~ /\btypedef\s/ && > $line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ && > $line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ && > $line !~ /\b$typeTypedefs\b/ && > $line !~ /\b__bitwise(?:__|)\b/) { > - WARN("NEW_TYPEDEFS", > - "do not add new typedefs\n" . $herecurr); > + # check if $line is diff-like > + if (substr($rawlines[$linenr - 3], 0, 1) eq '-') { > + my $oldline3 = substr($rawlines[$linenr - 3], > 1); > + # check if typedef already existed > + if ($line !~ /$oldline3/) { > + WARN("NEW_TYPEDEFS", > + "do not add new typedefs\n" . > $herecurr); > + } > + } else { > + WARN("NEW_TYPEDEFS", > + "do not add new typedefs\n" . $herecurr); > + } > } > > # * goes on variable not on type -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning
Fixing an "open brace '{' following struct go on the same line" error causes a false positive warning "do not add new typedefs". Fix existing typedef false positive warning. Signed-off-by: Greg Donald --- scripts/checkpatch.pl | 16 +--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 4d08b39..eafe5e7 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3081,14 +3081,24 @@ sub process { } # check for new typedefs, only function parameters and sparse annotations -# make sense. +# and existing typedefs make sense. if ($line =~ /\btypedef\s/ && $line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ && $line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ && $line !~ /\b$typeTypedefs\b/ && $line !~ /\b__bitwise(?:__|)\b/) { - WARN("NEW_TYPEDEFS", -"do not add new typedefs\n" . $herecurr); + # check if $line is diff-like + if (substr($rawlines[$linenr - 3], 0, 1) eq '-') { + my $oldline3 = substr($rawlines[$linenr - 3], 1); + # check if typedef already existed + if ($line !~ /$oldline3/) { + WARN("NEW_TYPEDEFS", +"do not add new typedefs\n" . $herecurr); + } + } else { + WARN("NEW_TYPEDEFS", +"do not add new typedefs\n" . $herecurr); + } } # * goes on variable not on type -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning
Fixing an open brace '{' following struct go on the same line error causes a false positive warning do not add new typedefs. Fix existing typedef false positive warning. Signed-off-by: Greg Donald gdon...@gmail.com --- scripts/checkpatch.pl | 16 +--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 4d08b39..eafe5e7 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3081,14 +3081,24 @@ sub process { } # check for new typedefs, only function parameters and sparse annotations -# make sense. +# and existing typedefs make sense. if ($line =~ /\btypedef\s/ $line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ $line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ $line !~ /\b$typeTypedefs\b/ $line !~ /\b__bitwise(?:__|)\b/) { - WARN(NEW_TYPEDEFS, -do not add new typedefs\n . $herecurr); + # check if $line is diff-like + if (substr($rawlines[$linenr - 3], 0, 1) eq '-') { + my $oldline3 = substr($rawlines[$linenr - 3], 1); + # check if typedef already existed + if ($line !~ /$oldline3/) { + WARN(NEW_TYPEDEFS, +do not add new typedefs\n . $herecurr); + } + } else { + WARN(NEW_TYPEDEFS, +do not add new typedefs\n . $herecurr); + } } # * goes on variable not on type -- 1.9.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning
On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote: Fixing an open brace '{' following struct go on the same line error causes a false positive warning do not add new typedefs. Fix existing typedef false positive warning. This doesn't work. The matching deleted line can be any number of lines above. Signed-off-by: Greg Donald gdon...@gmail.com --- scripts/checkpatch.pl | 16 +--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 4d08b39..eafe5e7 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3081,14 +3081,24 @@ sub process { } # check for new typedefs, only function parameters and sparse annotations -# make sense. +# and existing typedefs make sense. if ($line =~ /\btypedef\s/ $line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ $line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ $line !~ /\b$typeTypedefs\b/ $line !~ /\b__bitwise(?:__|)\b/) { - WARN(NEW_TYPEDEFS, - do not add new typedefs\n . $herecurr); + # check if $line is diff-like + if (substr($rawlines[$linenr - 3], 0, 1) eq '-') { + my $oldline3 = substr($rawlines[$linenr - 3], 1); + # check if typedef already existed + if ($line !~ /$oldline3/) { + WARN(NEW_TYPEDEFS, + do not add new typedefs\n . $herecurr); + } + } else { + WARN(NEW_TYPEDEFS, + do not add new typedefs\n . $herecurr); + } } # * goes on variable not on type -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning
On Sun, Sep 21, 2014 at 9:31 PM, Joe Perches j...@perches.com wrote: On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote: Fixing an open brace '{' following struct go on the same line error causes a false positive warning do not add new typedefs. Fix existing typedef false positive warning. This doesn't work. The matching deleted line can be any number of lines above. But this fixes the most common case: -typedef struct ksock_proto -{ +typedef struct ksock_proto { If you're wanting to check more than just $rawlines[$linenr - 3], how far above does it make sense to go? From what I'm seeing the '{' is usually on the next line. -- Greg Donald -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning
On Sun, 2014-09-21 at 22:08 -0500, Greg Donald wrote: On Sun, Sep 21, 2014 at 9:31 PM, Joe Perches j...@perches.com wrote: On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote: Fixing an open brace '{' following struct go on the same line error causes a false positive warning do not add new typedefs. Fix existing typedef false positive warning. This doesn't work. The matching deleted line can be any number of lines above. But this fixes the most common case: -typedef struct ksock_proto -{ +typedef struct ksock_proto { Meh. I think people are smart enough to work out that this is not a new typedef. If you're wanting to check more than just $rawlines[$linenr - 3], how far above does it make sense to go? From what I'm seeing the '{' is usually on the next line. It's not the most common case working, it's the generic case working. It's in a large block being changed, it doesn't work. If it's checking a file, there are no - lines. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/