diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 614999f29aa04846a5588e3f74537bb3f5104807..5f71b30502539ba9c15d4ed7a2a05de4fe79135e 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -1244,6 +1244,10 @@ sub process { ERROR("switch and case should be at the same indent\n$hereline$err"); } } + if ($line =~ /^.\s*(?:case\s*.*|default\s*):/g && + $line !~ /\G(?:\s*{)?(?:\s*$;*)(?:\s*\\)?\s*$/g) { + ERROR("trailing statements should be on next line\n" . $herecurr); + } # if/while/etc brace do not go on next line, unless defining a do while loop, # or if that brace on the next line is for something else