malcolm.parsons created this revision. malcolm.parsons added reviewers: sbenza, aaron.ballman, alexfh. malcolm.parsons added subscribers: Eugene.Zelenko, cfe-commits, beanz.
This check did not create FixItHints when the statement before the redundant control flow was not followed by a semicolon. https://reviews.llvm.org/D24500 Files: clang-tidy/readability/RedundantControlFlowCheck.cpp test/clang-tidy/readability-redundant-control-flow.cpp Index: test/clang-tidy/readability-redundant-control-flow.cpp =================================================================== --- test/clang-tidy/readability-redundant-control-flow.cpp +++ test/clang-tidy/readability-redundant-control-flow.cpp @@ -179,6 +179,7 @@ // CHECK-FIXES: {{^}} if (check < T(0)) {{{$}} // CHECK-FIXES-NEXT: {{^ return;$}} // CHECK-FIXES-NEXT: {{^ *}$}} +// CHECK-FIXES-NEXT: {{^ *}$}} template <> void template_return(int check) { @@ -191,6 +192,7 @@ // CHECK-FIXES: {{^}} if (check < 0) {{{$}} // CHECK-FIXES-NEXT: {{^ return;$}} // CHECK-FIXES-NEXT: {{^ *}$}} +// CHECK-FIXES-NEXT: {{^ *}$}} template <typename T> void template_loop(T end) { Index: clang-tidy/readability/RedundantControlFlowCheck.cpp =================================================================== --- clang-tidy/readability/RedundantControlFlowCheck.cpp +++ clang-tidy/readability/RedundantControlFlowCheck.cpp @@ -83,7 +83,7 @@ dyn_cast<Stmt>(*Previous)->getLocEnd(), tok::semi, SM, Result.Context->getLangOpts(), /*SkipTrailingWhitespaceAndNewLine=*/true); - else + if (!Start.isValid()) Start = StmtRange.getBegin(); auto RemovedRange = CharSourceRange::getCharRange( Start,
Index: test/clang-tidy/readability-redundant-control-flow.cpp =================================================================== --- test/clang-tidy/readability-redundant-control-flow.cpp +++ test/clang-tidy/readability-redundant-control-flow.cpp @@ -179,6 +179,7 @@ // CHECK-FIXES: {{^}} if (check < T(0)) {{{$}} // CHECK-FIXES-NEXT: {{^ return;$}} // CHECK-FIXES-NEXT: {{^ *}$}} +// CHECK-FIXES-NEXT: {{^ *}$}} template <> void template_return(int check) { @@ -191,6 +192,7 @@ // CHECK-FIXES: {{^}} if (check < 0) {{{$}} // CHECK-FIXES-NEXT: {{^ return;$}} // CHECK-FIXES-NEXT: {{^ *}$}} +// CHECK-FIXES-NEXT: {{^ *}$}} template <typename T> void template_loop(T end) { Index: clang-tidy/readability/RedundantControlFlowCheck.cpp =================================================================== --- clang-tidy/readability/RedundantControlFlowCheck.cpp +++ clang-tidy/readability/RedundantControlFlowCheck.cpp @@ -83,7 +83,7 @@ dyn_cast<Stmt>(*Previous)->getLocEnd(), tok::semi, SM, Result.Context->getLangOpts(), /*SkipTrailingWhitespaceAndNewLine=*/true); - else + if (!Start.isValid()) Start = StmtRange.getBegin(); auto RemovedRange = CharSourceRange::getCharRange( Start,
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits