[clang] [LifetimeSafety] Detect use-after-return (PR #165370)

Kashika Akhouri via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 17 03:26:59 PST 2025


================
@@ -122,6 +122,39 @@ class LifetimeTestHelper {
     return LID;
   }
 
+  std::optional<LoanSet> getLiveLoansAtPoint(ProgramPoint P) const {
+    const auto &LiveOriginsAnalysis = Runner.getAnalysis().getLiveOrigins();
+    const auto &LoanPropagation = Runner.getAnalysis().getLoanPropagation();
+
+    LivenessMap LiveOriginsMap = LiveOriginsAnalysis.getLiveOriginsAt(P);
+
+    LoanSet::Factory F;
+    LoanSet Result = F.getEmptySet();
+
+    for (const auto &[OID, LI] : LiveOriginsMap) {
+      if (LI.Kind != LivenessKind::Dead) {
----------------
kashika0112 wrote:

Done, removed this check.

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


More information about the cfe-commits mailing list