summaryrefslogtreecommitdiffstats
path: root/scripts/checkpatch.pl
diff options
context:
space:
mode:
authorAndy Whitcroft <apw@canonical.com>2009-10-26 16:50:15 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-10-29 07:39:31 -0700
commit99423c2065b62fee41cdbd8da7e63bf1f8f9e9b0 (patch)
treecce6a6498daee4630e0c1fa9f48ef922457cad68 /scripts/checkpatch.pl
parent2ceb532b04b7a3b8f534d11a6e839f8b8bff94c1 (diff)
downloadblackbird-op-linux-99423c2065b62fee41cdbd8da7e63bf1f8f9e9b0.tar.gz
blackbird-op-linux-99423c2065b62fee41cdbd8da7e63bf1f8f9e9b0.zip
checkpatch: fix __attribute__ matching
In the following code, union thread_union init_thread_union __attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) }; There is a non-conforming declaration. It should really be like the following, union thread_union init_thread_union __attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) }; However, checkpatch doesn't catch this right now because it doesn't correctly evaluate the "__attribute__". It is not at all clear that we care what preceeds an assignment style attribute when we find the open brace. Relax the test so we do not need to check the __attribute__. Reported-by: Daniel Walker <dwalker@fifo99.com> 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>
Diffstat (limited to 'scripts/checkpatch.pl')
-rwxr-xr-xscripts/checkpatch.pl4
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index cb2dac37aaff..ba105a848396 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1669,8 +1669,8 @@ sub process {
}
# check for initialisation to aggregates open brace on the next line
- if ($prevline =~ /$Declare\s*$Ident\s*=\s*$/ &&
- $line =~ /^.\s*{/) {
+ if ($line =~ /^.\s*{/ &&
+ $prevline =~ /(?:^|[^=])=\s*$/) {
ERROR("that open brace { should be on the previous line\n" . $hereprev);
}
OpenPOWER on IntegriCloud