Re: Possible false positive from checkpatch.pl

From: Larry Finger
Date: Mon Jul 12 2010 - 15:37:46 EST


On 07/12/2010 02:03 PM, Joe Perches wrote:
On Mon, 2010-07-12 at 13:35 -0500, Larry Finger wrote:
These are ugly macros that will be eliminated, but for the moment they are in
the code. As I stated in my original email, removing the comma from the
definition and adding it to the code does fix the checkpatch error, but it
should not be necessary.

Hi Larry.

Using checkpatch is not necessary.

If you want generally conforming kernel style,
the macro should not end in a trailing comma.

Feel free to ignore the checkpatch message,

I think the warning is reasonable, though it
could be made more specific.

cheers, Joe

Maybe something like:
---
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index bd88f11..7e8a3f4 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2394,8 +2394,10 @@ sub process {
}x;
#print "REST<$rest> dstat<$dstat>\n";
if ($rest ne '') {
- if ($rest !~ /while\s*\(/&&
- $dstat !~ /$exceptions/)
+ if ($rest eq ",") {
+ ERROR("Macros should not end with a trailing comma\n" . "$here\n$ctx\n");
+ } elsif ($rest !~ /while\s*\(/&&
+ $dstat !~ /$exceptions/)
{
ERROR("Macros with multiple statements should be enclosed in a do - while loop\n" . "$here\n$ctx\n");
}

That looks good. At least it makes clear what is wrong.

Should it be an error, or just a warning?

Larry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/