Commit f39e1769 authored by Joe Perches's avatar Joe Perches Committed by Linus Torvalds

checkpatch: improve CONSTANT_COMPARISON test for structure members

A "." dereference to an all uppercase structure member can be
incorrectly reported as a CONSTANT_COMPARISON.

ie: "if (table[i].PANELID == tempdx)"

Fix it by checking for "." before the constant test.
Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 2d632745
...@@ -4291,7 +4291,7 @@ sub process { ...@@ -4291,7 +4291,7 @@ sub process {
my $comp = $3; my $comp = $3;
my $to = $4; my $to = $4;
my $newcomp = $comp; my $newcomp = $comp;
if ($lead !~ /$Operators\s*$/ && if ($lead !~ /(?:$Operators|\.)\s*$/ &&
$to !~ /^(?:Constant|[A-Z_][A-Z0-9_]*)$/ && $to !~ /^(?:Constant|[A-Z_][A-Z0-9_]*)$/ &&
WARN("CONSTANT_COMPARISON", WARN("CONSTANT_COMPARISON",
"Comparisons should place the constant on the right side of the test\n" . $herecurr) && "Comparisons should place the constant on the right side of the test\n" . $herecurr) &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment