[clang] [alpha.webkit.UnretainedCallArgsChecker] Emit a warning for a non-const RetainPtr member (PR #184243)

Balázs Benics via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 3 08:00:52 PST 2026


================
@@ -108,9 +108,14 @@ bool tryToFindPtrOrigin(
         if (auto *decl = memberCall->getMethodDecl()) {
           std::optional<bool> IsGetterOfRefCt = isGetterOfSafePtr(decl);
           if (IsGetterOfRefCt && *IsGetterOfRefCt) {
-            E = memberCall->getImplicitObjectArgument();
-            if (StopAtFirstRefCountedObj) {
-              return callback(E, true);
+            E = memberCall->getImplicitObjectArgument()->IgnoreParenCasts();
+            if (auto *DRE = dyn_cast<DeclRefExpr>(E)) {
+              if (auto *Decl = dyn_cast_or_null<VarDecl>(DRE->getDecl())) {
+                if (isa<ParmVarDecl>(Decl) || Decl->isLocalVarDecl()) {
----------------
steakhal wrote:

```suggestion
                if (Decl->isLocalVarDeclOrParm()) {
```

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


More information about the cfe-commits mailing list