From 7aea4b816790cae57547f3e3d8e0185de69973ce Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Fri, 10 Aug 2018 20:45:41 +0200 Subject: [PATCH] tools/checkpatch: fix some bogus macro warnings checkpatch was throwing an error for "#define FOO , bar" Signed-off-by: David Lamparter --- tools/checkpatch.pl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/checkpatch.pl b/tools/checkpatch.pl index c1fab1029a..55b3e1e564 100755 --- a/tools/checkpatch.pl +++ b/tools/checkpatch.pl @@ -4181,7 +4181,9 @@ sub process { } elsif ($op eq ',') { my $rtrim_before = 0; my $space_after = 0; - if ($ctx =~ /Wx./) { + if ($line=~/\#\s*define/) { + # ignore , spacing in macros + } elsif ($ctx =~ /Wx./) { if (ERROR("SPACING", "space prohibited before that '$op' $at\n" . $hereptr)) { $line_fixed = 1; @@ -4847,6 +4849,7 @@ sub process { my $ctx = ''; my $has_flow_statement = 0; my $has_arg_concat = 0; + my $complex = 0; ($dstat, $dcond, $ln, $cnt, $off) = ctx_statement_block($linenr, $realcnt, 0); $ctx = $dstat; @@ -4865,6 +4868,7 @@ sub process { $define_args = substr($define_args, 1, length($define_args) - 2); $define_args =~ s/\s*//g; @def_args = split(",", $define_args); + $complex = 1; } $dstat =~ s/$;//g; @@ -4932,7 +4936,7 @@ sub process { } elsif ($dstat =~ /;/) { ERROR("MULTISTATEMENT_MACRO_USE_DO_WHILE", "Macros with multiple statements should be enclosed in a do - while loop\n" . "$herectx"); - } else { + } elsif ($complex) { ERROR("COMPLEX_MACRO", "Macros with complex values should be enclosed in parentheses\n" . "$herectx"); } -- 2.39.5