[clang] [LifetimeSafety] Add support for `new`/`delete` (PR #192504)

Utkarsh Saxena via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 21 06:38:17 PDT 2026


================
@@ -61,15 +61,21 @@ class LifetimeSafetySemaHelper {
   LifetimeSafetySemaHelper() = default;
   virtual ~LifetimeSafetySemaHelper() = default;
 
-  virtual void reportUseAfterFree(const Expr *IssueExpr, const Expr *UseExpr,
-                                  const Expr *MovedExpr,
-                                  SourceLocation FreeLoc) {}
+  virtual void reportUseAfterScope(const Expr *IssueExpr, const Expr *UseExpr,
+                                   const Expr *MovedExpr,
+                                   SourceLocation FreeLoc) {}
 
   virtual void reportUseAfterReturn(const Expr *IssueExpr,
                                     const Expr *ReturnExpr,
                                     const Expr *MovedExpr,
                                     SourceLocation ExpiryLoc) {}
 
+  virtual void reportUseAfterFree(const Expr *IssueExpr, const Expr *UseExpr,
+                                  const Expr *FreedExpr) {}
+
+  virtual void reportUseAfterFree(const ParmVarDecl *IssueExpr,
+                                  const Expr *UseExpr, const Expr *FreedExpr) {}
+
----------------
usx95 wrote:

As suggested later, let's drop the new functions and reuse `reportUseAfterInvalidation`

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


More information about the cfe-commits mailing list