qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] checkpatch: better pattern for inline comments


From: Michael S. Tsirkin
Subject: [PATCH] checkpatch: better pattern for inline comments
Date: Mon, 7 Nov 2022 09:56:06 -0500

checkpatch is unhappy about this line:

    WARNING: Block comments use a leading /* on a separate line
    #50: FILE: hw/acpi/nvdimm.c:1074:
    +                   aml_equal(aml_sizeof(pckg), aml_int(1)) /* 1 element? 
*/));

but there's nothing wrong with it - the check is just too simplistic. It
will also miss lines which mix inline and block comments.

Instead, let's strip all inline comments from a line and then check for block
comments.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 scripts/checkpatch.pl | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index e3e3b43076..be37c9e0bf 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1681,10 +1681,15 @@ sub process {
 # Block comment styles
 
                # Block comments use /* on a line of its own
-               if ($rawline !~ m@^\+.*/\*.*\*/[ \t)}]*$@ &&    #inline /*...*/
-                   $rawline =~ m@^\+.*/\*\*?+[ \t]*[^ \t]@) { # /* or /** 
non-blank
-                       WARN("Block comments use a leading /* on a separate 
line\n" . $herecurr);
-               }
+               {
+                    # remove inline #inline /*...*/
+                    my $commentline = $rawline;
+                    while ($commentline =~ s@^(\+.*)/\*.*\*/@$1@o) {
+                    }
+                    if ($commentline =~ m@^\+.*/\*\*?+[ \t]*[^ \t]@) { # /* or 
/** non-blank
+                            WARN("Block comments use a leading /* on a 
separate line\n" . $herecurr);
+                    }
+                }
 
 # Block comments use * on subsequent lines
                if ($prevline =~ /$;[ \t]*$/ &&                 #ends in comment
-- 
MST




reply via email to

[Prev in Thread] Current Thread [Next in Thread]