Commit 70dc8a48357ce630d8a76887a9a36f0d34c8caf2
Committed by
Linus Torvalds
1 parent
7e51f19792
Exists in
smarc-imx_3.14.28_1.0.0_ga
and in
1 other branch
checkpatch: warn when using extern with function prototypes in .h files
Using the extern keyword on function prototypes is superfluous visual noise so suggest removing it. Using extern can cause unnecessary line wrapping at 80 columns and unnecessarily long multi-line function prototypes. Signed-off-by: Joe Perches <joe@perches.com> Suggested-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 10 additions and 0 deletions Side-by-side Diff
scripts/checkpatch.pl
... | ... | @@ -3878,6 +3878,16 @@ |
3878 | 3878 | } |
3879 | 3879 | } |
3880 | 3880 | |
3881 | +# check for new externs in .h files. | |
3882 | + if ($realfile =~ /\.h$/ && | |
3883 | + $line =~ /^\+\s*(extern\s+)$Type\s*$Ident\s*\(/s) { | |
3884 | + if (WARN("AVOID_EXTERNS", | |
3885 | + "extern prototypes should be avoided in .h files\n" . $herecurr) && | |
3886 | + $fix) { | |
3887 | + $fixed[$linenr - 1] =~ s/(.*)\bextern\b\s*(.*)/$1$2/; | |
3888 | + } | |
3889 | + } | |
3890 | + | |
3881 | 3891 | # check for new externs in .c files. |
3882 | 3892 | if ($realfile =~ /\.c$/ && defined $stat && |
3883 | 3893 | $stat =~ /^.\s*(?:extern\s+)?$Type\s+($Ident)(\s*)\(/s) |