Messages in this thread Patch in this message | | | Date | Wed, 13 Apr 2016 07:53:36 +0100 | From | Andy Whitcroft <> | Subject | Re: checkpatch false positon on EXPORT_SYMBOL |
| |
On Tue, Apr 12, 2016 at 10:49:17AM -0700, Joe Perches wrote: > > On Tue, 2016-04-12 at 13:59 +0100, Andy Whitcroft wrote: > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > [] > > @@ -3000,7 +3000,7 @@ sub process { > > > > $realline_next = $line_nr_next; > > if (defined $realline_next && > > (!defined $lines[$realline_next - 1] || > > - substr($lines[$realline_next - 1], $off_next) =~ /^\s*$/)) { > > + substr($lines[$realline_next - 1], $off_next) =~ /^($;|\s)*$/)) { > > $realline_next++; > > } > > This doesn't work with c99 comments like: > > int foo; // comment > EXPORT_SYMBOL(foo); // comment > > but then again, there aren't any uses like that in the > kernel tree so it almost certainly doesn't matter. > > Thanks Andy.
Ok, that makes sense. Lets try the below.
-apw
From 4fd261803ca26cc4ff5b5efb04c0bf8b7bb713e9 Mon Sep 17 00:00:00 2001 From: Andy Whitcroft <apw@canonical.com> Date: Tue, 12 Apr 2016 13:43:46 +0100 Subject: [PATCH] checkpatch: comments are whitespace for the purposes of finding the next line
While parsing statements we are recording the nominal next line for the purposes of checking that EXPORT* follows exactly on below an appropriate statement. Where there is whitespace after a statement end marker (such as ;) we will move to the next line. This also needs to apply to inline comments at the end of a line.
Allows us to more correctly parse:
+int test_export; +EXPORT_SYMBOL(test_export); /* No Error ! */ + +int test_export2; /* No Error below */ +EXPORT_SYMBOL(test_export2); + +int test_export3; /* Error below */ +EXPORT_SYMBOL(test_export3); /* Error ! */ + +int test_export4; // Error below +EXPORT_SYMBOL(test_export4); // Error ! +
Reported-by: Daniel Walker <danielwa@cisco.com> Signed-off-by: Andy Whitcroft <apw@canonical.com> --- scripts/checkpatch.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index d574d13..c58bc4d 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3000,7 +3000,7 @@ sub process { $realline_next = $line_nr_next; if (defined $realline_next && (!defined $lines[$realline_next - 1] || - substr($lines[$realline_next - 1], $off_next) =~ /^\s*$/)) { + substr($lines[$realline_next - 1], $off_next) =~ /^($;|\s|\/\/.*)*$/)) { $realline_next++; } -- 2.7.4
| |