[clang] [LifetimeSafety] Detect use-after-scope through fields in member calls (PR #191731)

via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 13 06:40:49 PDT 2026


================
@@ -723,6 +723,40 @@ void FactsGenerator::handleInvalidatingCall(const Expr *Call,
         ThisList->getOuterOriginID(), Call));
 }
 
+void FactsGenerator::handleImplicitObjectFieldUses(const Expr *Call,
+                                                   const FunctionDecl *FD) {
+  const auto *MD = dyn_cast<CXXMethodDecl>(FD);
+  if (!MD || !MD->isInstance())
+    return;
+
+  const auto *ClassDecl = MD->getParent()->getDefinition();
+  if (!ClassDecl)
+    return;
+
+  const auto UseFields = [&](const CXXRecordDecl *RD) {
+    const auto *MemberCall = dyn_cast_or_null<CXXMemberCallExpr>(Call);
+    if (!MemberCall)
+      return;
+
+    const auto *This =
+        dyn_cast_or_null<CXXThisExpr>(MemberCall->getImplicitObjectArgument());
+    if (!This)
+      return;
----------------
NeKon69 wrote:

Yup, already reverted

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


More information about the cfe-commits mailing list