diff options
author | Andy Whitcroft <apw@canonical.com> | 2010-10-26 17:23:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-26 19:52:20 -0400 |
commit | 9446ef569c288e683225fec8337a0b2b81e75cc5 (patch) | |
tree | a46d6265a77f637f882c9136c914483b5d4598d8 | |
parent | fb2d2c1b5825503d30fb6f2dc328dbe4a47d9794 (diff) |
checkpatch: handle casts better fixing false categorisation of : as binary
The following incantation is triggering categorisation of its colon (:) as
a binary form, which it is not:
return foo ? (s8)bar : baz;
Handle casts differently from types in the categoriser, allowing us to
better track (s8)bar as a value and not a declaration.
Reported-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rwxr-xr-x | scripts/checkpatch.pl | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 8d010ac0efe1..3cec2990d51e 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl | |||
@@ -845,6 +845,11 @@ sub annotate_values { | |||
845 | $av_preprocessor = 0; | 845 | $av_preprocessor = 0; |
846 | } | 846 | } |
847 | 847 | ||
848 | } elsif ($cur =~ /^(\(\s*$Type\s*)\)/) { | ||
849 | print "CAST($1)\n" if ($dbg_values > 1); | ||
850 | push(@av_paren_type, $type); | ||
851 | $type = 'C'; | ||
852 | |||
848 | } elsif ($cur =~ /^($Type)\s*(?:$Ident|,|\)|\(|\s*$)/) { | 853 | } elsif ($cur =~ /^($Type)\s*(?:$Ident|,|\)|\(|\s*$)/) { |
849 | print "DECLARE($1)\n" if ($dbg_values > 1); | 854 | print "DECLARE($1)\n" if ($dbg_values > 1); |
850 | $type = 'T'; | 855 | $type = 'T'; |