From: Heinrich Schuchardt <xypron.g...@gmx.de>

Allow a space between a colon and subsequent opening bracket.  This
sequence may occur in inline assembler statements like

        asm(
                "ldr %[out], [%[in]]\n\t"
                : [out] "=r" (ret)
                : [in] "r" (addr)
        );

Allow a space between a comma and subsequent opening bracket.  This
sequence may occur in designated initializers.

To ease backporting the patch, I am also changing the comma-bracket
detection (added in QEMU by commit 409db6eb7199af7a2f09f746bd1b793e9daefe5f)
to use the same regex as brackets and colons (as done independently
by Linux commit daebc534ac15f991961a5bb433e515988220e9bf).

Link: http://lkml.kernel.org/r/20180403191655.23700-1-xypron.g...@gmx.de
Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
Acked-by: Joe Perches <j...@perches.com>
Signed-off-by: Andrew Morton <a...@linux-foundation.org>
Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
 scripts/checkpatch.pl | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 52ab18bfce..33b5771120 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1977,9 +1977,8 @@ sub process {
                        my ($where, $prefix) = ($-[1], $1);
                        if ($prefix !~ /$Type\s+$/ &&
                            ($where != 0 || $prefix !~ /^.\s+$/) &&
-                           $prefix !~ /{\s+$/ &&
                            $prefix !~ /\#\s*define[^(]*\([^)]*\)\s+$/ &&
-                           $prefix !~ /,\s+$/) {
+                           $prefix !~ /[,{:]\s+$/) {
                                ERROR("space prohibited before open square 
bracket '['\n" . $herecurr);
                        }
                }
-- 
2.17.1


Reply via email to