njames93 created this revision. njames93 added reviewers: aaron.ballman, alexfh. Herald added a subscriber: xazax.hun. njames93 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Fixes https://llvm.org/PR9492. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D98338 Files: clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp clang-tools-extra/test/clang-tidy/checkers/bugprone-terminating-continue.cpp Index: clang-tools-extra/test/clang-tidy/checkers/bugprone-terminating-continue.cpp =================================================================== --- clang-tools-extra/test/clang-tidy/checkers/bugprone-terminating-continue.cpp +++ clang-tools-extra/test/clang-tidy/checkers/bugprone-terminating-continue.cpp @@ -62,4 +62,12 @@ if (n>2) continue; } } while (false); + + do { + switch (2) { + case 1: + case 2: + continue; + } + } while (false); } Index: clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp =================================================================== --- clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp +++ clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp @@ -26,10 +26,11 @@ equalsBoundNode("closestLoop")); Finder->addMatcher( - continueStmt(hasAncestor(stmt(anyOf(forStmt(), whileStmt(), - cxxForRangeStmt(), doStmt())) - .bind("closestLoop")), - hasAncestor(DoWithFalse)) + continueStmt( + hasAncestor(stmt(anyOf(forStmt(), whileStmt(), cxxForRangeStmt(), + doStmt(), switchStmt())) + .bind("closestLoop")), + hasAncestor(DoWithFalse)) .bind("continue"), this); }
Index: clang-tools-extra/test/clang-tidy/checkers/bugprone-terminating-continue.cpp =================================================================== --- clang-tools-extra/test/clang-tidy/checkers/bugprone-terminating-continue.cpp +++ clang-tools-extra/test/clang-tidy/checkers/bugprone-terminating-continue.cpp @@ -62,4 +62,12 @@ if (n>2) continue; } } while (false); + + do { + switch (2) { + case 1: + case 2: + continue; + } + } while (false); } Index: clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp =================================================================== --- clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp +++ clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp @@ -26,10 +26,11 @@ equalsBoundNode("closestLoop")); Finder->addMatcher( - continueStmt(hasAncestor(stmt(anyOf(forStmt(), whileStmt(), - cxxForRangeStmt(), doStmt())) - .bind("closestLoop")), - hasAncestor(DoWithFalse)) + continueStmt( + hasAncestor(stmt(anyOf(forStmt(), whileStmt(), cxxForRangeStmt(), + doStmt(), switchStmt())) + .bind("closestLoop")), + hasAncestor(DoWithFalse)) .bind("continue"), this); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits