The patch titled Subject: checkpatch: remove missing switch/case break test has been added to the -mm tree. Its filename is checkpatch-remove-missing-switch-case-break-test.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/checkpatch-remove-missing-switch-case-break-test.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/checkpatch-remove-missing-switch-case-break-test.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Joe Perches <joe@xxxxxxxxxxx> Subject: checkpatch: remove missing switch/case break test This test doesn't work well and newer compilers are much better at emitting this warning. Link: http://lkml.kernel.org/r/7e25090c79f6a69d502ab8219863300790192fe2.camel@xxxxxxxxxxx Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Cambda Zhu <cambda@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- scripts/checkpatch.pl | 25 ------------------------- 1 file changed, 25 deletions(-) --- a/scripts/checkpatch.pl~checkpatch-remove-missing-switch-case-break-test +++ a/scripts/checkpatch.pl @@ -6551,31 +6551,6 @@ sub process { } } -# check for case / default statements not preceded by break/fallthrough/switch - if ($line =~ /^.\s*(?:case\s+(?:$Ident|$Constant)\s*|default):/) { - my $has_break = 0; - my $has_statement = 0; - my $count = 0; - my $prevline = $linenr; - while ($prevline > 1 && ($file || $count < 3) && !$has_break) { - $prevline--; - my $rline = $rawlines[$prevline - 1]; - my $fline = $lines[$prevline - 1]; - last if ($fline =~ /^\@\@/); - next if ($fline =~ /^\-/); - next if ($fline =~ /^.(?:\s*(?:case\s+(?:$Ident|$Constant)[\s$;]*|default):[\s$;]*)*$/); - $has_break = 1 if ($rline =~ /fall[\s_-]*(through|thru)/i); - next if ($fline =~ /^.[\s$;]*$/); - $has_statement = 1; - $count++; - $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|exit\s*\(\b|return\b|goto\b|continue\b)/); - } - if (!$has_break && $has_statement) { - WARN("MISSING_BREAK", - "Possible switch case/default not preceded by break or fallthrough comment\n" . $herecurr); - } - } - # check for /* fallthrough */ like comment, prefer fallthrough; my @fallthroughs = ( 'fallthrough', _ Patches currently in -mm which might be from joe@xxxxxxxxxxx are checkpatch-test-git_dir-changes.patch const_structscheckpatch-add-regulator_ops.patch checkpatch-add-test-for-possible-misuse-of-is_enabled-without-config_.patch checkpatch-add-fix-option-for-assign_in_if.patch checkpatch-add-test-for-repeated-words.patch checkpatch-remove-missing-switch-case-break-test.patch nilfs2-convert-__nilfs_msg-to-integrate-the-level-and-format.patch nilfs2-use-a-more-common-logging-style.patch