[clang] [analyzer] MallocChecker – Fix false positive leak for smart pointers in temporary objects (PR #152751)

Ivan Murashko via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 9 09:39:48 PDT 2025


================
@@ -3068,11 +3107,217 @@ void MallocChecker::checkDeadSymbols(SymbolReaper &SymReaper,
   C.addTransition(state->set<RegionState>(RS), N);
 }
 
+static QualType canonicalStrip(QualType QT) {
+  return QT.getCanonicalType().getUnqualifiedType();
+}
+
+static bool isInStdNamespace(const DeclContext *DC) {
+  while (DC) {
+    if (const auto *NS = dyn_cast<NamespaceDecl>(DC))
+      if (NS->isStdNamespace())
+        return true;
+    DC = DC->getParent();
+  }
+  return false;
+}
----------------
ivanmurashko wrote:

Removed custom isInStdNamespace; now using isWithinStdNamespace from CheckerHelpers.h.

https://github.com/llvm/llvm-project/pull/152751


More information about the cfe-commits mailing list