mirror of
https://github.com/torvalds/linux.git
synced 2025-01-01 07:42:07 +00:00
checkpatch: improve MULTISTATEMENT_MACRO_USE_DO_WHILE test
The logic currrently misses macros that start with an if statement. e.g.: #define foo(bar) if (bar) baz; Add a test for macro content that starts with if Link: http://lkml.kernel.org/r/a9d41aafe1673889caf1a9850208fb7fd74107a0.1491783914.git.joe@perches.com Signed-off-by: Joe Perches <joe@perches.com> Reported-by: Andreas Mohr <andi@lisas.de> Original-patch-by: Alfonso Lima <alfonsolimaastor@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d9190e4e1a
commit
e795556a58
@ -4849,8 +4849,10 @@ sub process {
|
||||
$dstat !~ /^\(\{/ && # ({...
|
||||
$ctx !~ /^.\s*#\s*define\s+TRACE_(?:SYSTEM|INCLUDE_FILE|INCLUDE_PATH)\b/)
|
||||
{
|
||||
|
||||
if ($dstat =~ /;/) {
|
||||
if ($dstat =~ /^\s*if\b/) {
|
||||
ERROR("MULTISTATEMENT_MACRO_USE_DO_WHILE",
|
||||
"Macros starting with if should be enclosed by a do - while loop to avoid possible if/else logic defects\n" . "$herectx");
|
||||
} elsif ($dstat =~ /;/) {
|
||||
ERROR("MULTISTATEMENT_MACRO_USE_DO_WHILE",
|
||||
"Macros with multiple statements should be enclosed in a do - while loop\n" . "$herectx");
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user