================
@@ -260,10 +260,17 @@ class LifetimeChecker {
             SemaHelper->reportUseAfterInvalidation(
                 InvalidatedPVD, UF->getUseExpr(), Warning.InvalidatedByExpr);
 
-        } else
+        } else {
           // Scope-based expiry (use-after-scope).
+
+          llvm::SmallVector<OriginID> OriginFlowChain =
+              LoanPropagation.buildOriginFlowChain(FactMgr, UF, LID);
+          const llvm::SmallVector<const Expr *> ExprChain =
+              getExprChain(OriginFlowChain);
           SemaHelper->reportUseAfterScope(IssueExpr, UF->getUseExpr(),
-                                          MovedExpr, ExpiryLoc);
+                                          MovedExpr, ExpiryLoc, ExprChain);
----------------
usx95 wrote:

I would inline this to be brief. I expect we need to do this at other places as 
well.

reportUseAfterScope(IssueExpr, UF->getUseExpr(),
                                          MovedExpr, ExpiryLoc, getExprChain 
(LoanPropagation.buildOriginFlowChain(UF, LID)));

https://github.com/llvm/llvm-project/pull/199345
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to