[clang] e4c7ee3 - [analyzer][NFC] Simplify BugType handling in core.BitwiseShift (#74609)

via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 7 01:23:24 PST 2023


Author: DonatNagyE
Date: 2023-12-07T10:23:19+01:00
New Revision: e4c7ee3c4418c1558c3a1c7337f031717ac100dd

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

LOG: [analyzer][NFC] Simplify BugType handling in core.BitwiseShift (#74609)

Eliminate the `mutable unique_ptr` hack because it's no longer needed.
(This cleanup could be done anywhere, I'm doing it here now because it
was me who published this checker with the old hack when it was already
superfluous.)

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
index d4aa9fa1339f4..339927c165fe0 100644
--- a/clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
@@ -344,7 +344,7 @@ BitwiseShiftValidator::createBugReport(StringRef ShortMsg, StringRef Msg) const
 } // anonymous namespace
 
 class BitwiseShiftChecker : public Checker<check::PreStmt<BinaryOperator>> {
-  mutable std::unique_ptr<BugType> BTPtr;
+  BugType BT{this, "Bitwise shift", "Suspicious operation"};
 
 public:
   void checkPreStmt(const BinaryOperator *B, CheckerContext &Ctx) const {
@@ -353,11 +353,7 @@ class BitwiseShiftChecker : public Checker<check::PreStmt<BinaryOperator>> {
     if (Op != BO_Shl && Op != BO_Shr)
       return;
 
-    if (!BTPtr)
-      BTPtr = std::make_unique<BugType>(this, "Bitwise shift",
-                                        "Suspicious operation");
-
-    BitwiseShiftValidator(B, Ctx, *BTPtr, Pedantic).run();
+    BitwiseShiftValidator(B, Ctx, BT, Pedantic).run();
   }
 
   bool Pedantic = false;


        


More information about the cfe-commits mailing list