[clang] 6684a59 - [analyzer][NFC] Trivial cleanup in ArrayBoundChecker (#126941)

via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 17 00:37:33 PST 2025


Author: DonĂ¡t Nagy
Date: 2025-02-17T09:37:29+01:00
New Revision: 6684a5970e74b8b4c0c83361a90e25dae9646db0

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

LOG: [analyzer][NFC] Trivial cleanup in ArrayBoundChecker (#126941)

Two small stylistic improvements in code that I wrote ~a year ago:
1. fix a typo in a comment; and
2. simplify the code of `tryDividePair` by swapping the true and the
false branches.

Added: 
    

Modified: 
    clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
index 109faacf1726a..f56e9192d1d66 100644
--- a/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
@@ -323,7 +323,7 @@ compareValueToThreshold(ProgramStateRef State, NonLoc Value, NonLoc Threshold,
   // we want to ensure that assumptions coming from this precondition and
   // assumptions coming from regular C/C++ operator calls are represented by
   // constraints on the same symbolic expression. A solution that would
-  // evaluate these "mathematical" compariosns through a separate pathway would
+  // evaluate these "mathematical" comparisons through a separate pathway would
   // be a step backwards in this sense.
 
   const BinaryOperatorKind OpKind = CheckEquality ? BO_EQ : BO_LT;
@@ -394,14 +394,13 @@ static bool tryDividePair(std::optional<int64_t> &Val1,
     return false;
   const bool Val1HasRemainder = Val1 && *Val1 % Divisor;
   const bool Val2HasRemainder = Val2 && *Val2 % Divisor;
-  if (!Val1HasRemainder && !Val2HasRemainder) {
-    if (Val1)
-      *Val1 /= Divisor;
-    if (Val2)
-      *Val2 /= Divisor;
-    return true;
-  }
-  return false;
+  if (Val1HasRemainder || Val2HasRemainder)
+    return false;
+  if (Val1)
+    *Val1 /= Divisor;
+  if (Val2)
+    *Val2 /= Divisor;
+  return true;
 }
 
 static Messages getExceedsMsgs(ASTContext &ACtx, const SubRegion *Region,


        


More information about the cfe-commits mailing list