diff options
author | Nathan James <n.james93@hotmail.co.uk> | 2022-09-24 18:29:17 +0100 |
---|---|---|
committer | Tobias Hieta <tobias@hieta.se> | 2022-10-18 08:28:42 +0200 |
commit | dfef316bb3d60edcb7a9f78abc62be78473458dc (patch) | |
tree | 039823bec6993a4c794d3f5c52afcaf594093e5e | |
parent | d35bc70e82511b38c55872ab33d3a950d2c8bbc4 (diff) | |
download | llvm-dfef316bb3d60edcb7a9f78abc62be78473458dc.tar.gz |
[clang-tidy] Fix a false positive in readability-simplify-boolean-expr
Reviewed By: LegalizeAdulthood
Differential Revision: https://reviews.llvm.org/D134590
(cherry picked from commit 8c783b8ec78ec857e446a89a35463baed8026f40)
-rw-r--r-- | clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp | 4 | ||||
-rw-r--r-- | clang-tools-extra/test/clang-tidy/checkers/readability/simplify-bool-expr-chained-conditional-return.cpp | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp index 8ae990a929df..afb4a1044a79 100644 --- a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp @@ -472,8 +472,8 @@ public: checkSingleStatement(If->getThen(), parseReturnLiteralBool); if (ThenReturnBool && ThenReturnBool.Bool != TrailingReturnBool.Bool) { - if (Check->ChainedConditionalReturn || - (!PrevIf && If->getElse() == nullptr)) { + if ((Check->ChainedConditionalReturn || !PrevIf) && + If->getElse() == nullptr) { Check->replaceCompoundReturnWithCondition( Context, cast<ReturnStmt>(*Second), TrailingReturnBool.Bool, If, ThenReturnBool.Item); diff --git a/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-bool-expr-chained-conditional-return.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-bool-expr-chained-conditional-return.cpp index 7e97e9f717fb..ff50528c215f 100644 --- a/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-bool-expr-chained-conditional-return.cpp +++ b/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-bool-expr-chained-conditional-return.cpp @@ -92,3 +92,14 @@ bool complex_chained_if_return_return_negated(int i) { // CHECK-FIXES: {{^}} }{{$}} // CHECK-FIXES: {{^ return i <= 10;$}} // CHECK-FIXES: {{^}$}} + + +bool PR57819(int x) { + // False positive introduced in clang-tidy-15 + // Expect no warning here. + if (x > 0) + return false; + else { + } + return true; +} |