summaryrefslogtreecommitdiff
path: root/scripts/checkpatch.pl
diff options
context:
space:
mode:
authorLeonid Bloch <leonid@daynix.com>2015-10-29 11:48:38 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2016-02-15 20:02:09 +0100
commit8800cf0a336147478dff6f2b0a47d8285b828f6d (patch)
treecfa41b8b4a5016daf507e9700fdfa02b5a4a95cd /scripts/checkpatch.pl
parent409db6eb7199af7a2f09f746bd1b793e9daefe5f (diff)
downloadqemu-8800cf0a336147478dff6f2b0a47d8285b828f6d.tar.gz
checkpatch: Eliminate false positive in case of space before square bracket in a definition
Now, macro definition such as "#define abc(x) [x] = y" should pass without an error. Signed-off-by: Leonid Bloch <leonid@daynix.com> Message-Id: <1446112118-12376-3-git-send-email-leonid@daynix.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/checkpatch.pl')
-rwxr-xr-xscripts/checkpatch.pl2
1 files changed, 2 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index e71c3d15d1..c26f76ed09 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1716,11 +1716,13 @@ sub process {
# 2. at the beginning of a line for slice initialisers -- [0...10] = 5,
# 3. inside a curly brace -- = { [0...10] = 5 }
# 4. after a comma -- [1] = 5, [2] = 6
+# 5. in a macro definition -- #define abc(x) [x] = y
while ($line =~ /(.*?\s)\[/g) {
my ($where, $prefix) = ($-[1], $1);
if ($prefix !~ /$Type\s+$/ &&
($where != 0 || $prefix !~ /^.\s+$/) &&
$prefix !~ /{\s+$/ &&
+ $prefix !~ /\#\s*define[^(]*\([^)]*\)\s+$/ &&
$prefix !~ /,\s+$/) {
ERROR("space prohibited before open square bracket '['\n" . $herecurr);
}