Browse Source

checkpatch: handle string concatenation in simple #defines

Adjacent strings indicate concatentation, therefore look at identifiers
directly adjacent to literal strings as strings too.  This allows us to
better detect the form below and accept it as a simple constant:

    #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Andy Whitcroft 13 years ago
parent
commit
e45bab8ebf
1 changed files with 6 additions and 0 deletions
  1. 6 0
      scripts/checkpatch.pl

+ 6 - 0
scripts/checkpatch.pl

@@ -2894,6 +2894,12 @@ sub process {
 			{
 			{
 			}
 			}
 
 
+			# Flatten any obvious string concatentation.
+			while ($dstat =~ s/("X*")\s*$Ident/$1/ ||
+			       $dstat =~ s/$Ident\s*("X*")/$1/)
+			{
+			}
+
 			my $exceptions = qr{
 			my $exceptions = qr{
 				$Declare|
 				$Declare|
 				module_param_named|
 				module_param_named|