================
@@ -2808,6 +2808,17 @@ class LifetimeSafetyReporterImpl : public
LifetimeSafetyReporter {
<< UseExpr->getEndLoc();
}
+ void reportUseAfterReturn(const Expr *IssueExpr, const Expr *EscapeExpr,
+ SourceLocation ExpiryLoc, Confidence C) override {
+ S.Diag(IssueExpr->getExprLoc(),
+ C == Confidence::Definite
+ ? diag::warn_lifetime_safety_return_stack_addr_permissive
+ : diag::warn_lifetime_safety_return_stack_addr_strict)
+ << IssueExpr->getEndLoc();
+
+ S.Diag(EscapeExpr->getBeginLoc(),
diag::note_lifetime_safety_returned_here);
----------------
usx95 wrote:
Let's highlight the complete expression:
`S.Diag(EscapeExpr->getExprLoc(), diag::note_lifetime_safety_returned_here) <<
EscapeExpr->getEndLoc();`
https://github.com/llvm/llvm-project/pull/165370
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits