[clang-tools-extra] d211abc - [clang-tidy] Ignore non-math operators in readability-math-missing-parentheses (#94654)

via cfe-commits cfe-commits at lists.llvm.org
Sun Jun 9 00:01:46 PDT 2024


Author: Piotr Zegar
Date: 2024-06-09T09:01:41+02:00
New Revision: d211abc625cc7bbc8616885bb8eaf4a69a9a3853

URL: https://github.com/llvm/llvm-project/commit/d211abc625cc7bbc8616885bb8eaf4a69a9a3853
DIFF: https://github.com/llvm/llvm-project/commit/d211abc625cc7bbc8616885bb8eaf4a69a9a3853.diff

LOG: [clang-tidy] Ignore non-math operators in readability-math-missing-parentheses (#94654)

Do not emit warnings for non-math operators.

Closes #92516

Added: 
    

Modified: 
    clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp b/clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
index 65fd296094915..64ce94e3fc1db 100644
--- a/clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
@@ -57,7 +57,8 @@ static void addParantheses(const BinaryOperator *BinOp,
   int Precedence1 = getPrecedence(BinOp);
   int Precedence2 = getPrecedence(ParentBinOp);
 
-  if (ParentBinOp != nullptr && Precedence1 != Precedence2) {
+  if (ParentBinOp != nullptr && Precedence1 != Precedence2 && Precedence1 > 0 &&
+      Precedence2 > 0) {
     const clang::SourceLocation StartLoc = BinOp->getBeginLoc();
     const clang::SourceLocation EndLoc =
         clang::Lexer::getLocForEndOfToken(BinOp->getEndLoc(), 0, SM, LangOpts);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
index a6045c079a482..4face0bb3fe68 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
@@ -140,3 +140,20 @@ void f(){
     //CHECK-MESSAGES: :[[@LINE+1]]:13: warning: '*' has higher precedence than '+'; add parentheses to explicitly specify the order of operations [readability-math-missing-parentheses]
     int v = FUN5(0 + 1);
 }
+
+namespace PR92516 {
+  void f(int i) {
+    int j, k;
+    for (j = i + 1, k = 0; j < 1; ++j) {}
+  }
+
+  void f2(int i) {
+    int j;
+    for (j = i + 1; j < 1; ++j) {}
+  }
+
+  void f3(int i) {
+    int j;
+    for (j = i + 1, 2; j < 1; ++j) {}
+  }
+}


        


More information about the cfe-commits mailing list