public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Whitcroft <apw@canonical.com>
To: Joe Perches <joe@perches.com>
Cc: Daniel Walker <danielwa@cisco.com>,
	open list <linux-kernel@vger.kernel.org>,
	Daniel Walker <dwalker@fifo99.com>,
	"xe-kernel@external.cisco.com" <xe-kernel@external.cisco.com>
Subject: Re: checkpatch false positon on EXPORT_SYMBOL
Date: Wed, 13 Apr 2016 07:53:36 +0100	[thread overview]
Message-ID: <20160413065336.GA4354@brain> (raw)
In-Reply-To: <1460483357.2507.24.camel@perches.com>

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

      parent reply	other threads:[~2016-04-13  6:53 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-31 15:01 checkpatch false positon on EXPORT_SYMBOL Daniel Walker
2016-03-31 19:21 ` Joe Perches
2016-04-11 21:51   ` Daniel Walker
2016-04-11 22:09     ` Joe Perches
2016-04-12 12:59       ` Andy Whitcroft
2016-04-12 13:37         ` Daniel Walker
2016-04-12 17:49         ` Joe Perches
2016-04-12 18:02           ` Daniel Walker
2016-04-13  6:53           ` Andy Whitcroft [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160413065336.GA4354@brain \
    --to=apw@canonical.com \
    --cc=danielwa@cisco.com \
    --cc=dwalker@fifo99.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=xe-kernel@external.cisco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox