Commit 2b9aef6f authored by Su Hang's avatar Su Hang Committed by Paolo Bonzini

checkpatch: add check for `while` and `for`

Adding check for `while` and `for` statements, which condition has more than
one line.

The former can check `if` statement, which condition has more
than one line, whether block misses brace round, like this:
if (cond1 ||
But it doesn't do the same check for `for` and `while` statements.

Using `(?:...)` instead of `(...)` in regex pattern catch.
Because `(?:...)` is faster and avoids unwanted side-effect.
Suggested-by: default avatarStefan Hajnoczi <>
Suggested-by: default avatarEric Blake <>
Suggested-by: default avatarThomas Huth <>
Signed-off-by: default avatarSu Hang <>
Message-Id: <>
Signed-off-by: default avatarPaolo Bonzini <>
parent fb8446d9
......@@ -2352,8 +2352,9 @@ sub process {
# check for missing bracing round if etc
if ($line =~ /(^.*)\bif\b/ && $line !~ /\#\s*if/) {
# check for missing bracing around if etc
if ($line =~ /(^.*)\b(?:if|while|for)\b/ &&
$line !~ /\#\s*if/) {
my ($level, $endln, @chunks) =
ctx_statement_full($linenr, $realcnt, 1);
if ($dbg_adv_apw) {
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment