[clang] fe381c2 - [LifetimeSafety] Use source ranges instead of end locations in diagnostics (#177020)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 21 03:38:53 PST 2026
Author: Utkarsh Saxena
Date: 2026-01-21T12:38:49+01:00
New Revision: fe381c2bf94f28daf813423f06521035948954b3
URL: https://github.com/llvm/llvm-project/commit/fe381c2bf94f28daf813423f06521035948954b3
DIFF: https://github.com/llvm/llvm-project/commit/fe381c2bf94f28daf813423f06521035948954b3.diff
LOG: [LifetimeSafety] Use source ranges instead of end locations in diagnostics (#177020)
### TL;DR
Update diagnostic location information to use full source ranges instead of just end locations for lifetime safety warnings.
Added:
Modified:
clang/lib/Sema/AnalysisBasedWarnings.cpp
Removed:
################################################################################
diff --git a/clang/lib/Sema/AnalysisBasedWarnings.cpp b/clang/lib/Sema/AnalysisBasedWarnings.cpp
index 793ece2c937de..14d8618f0afdd 100644
--- a/clang/lib/Sema/AnalysisBasedWarnings.cpp
+++ b/clang/lib/Sema/AnalysisBasedWarnings.cpp
@@ -2883,10 +2883,10 @@ class LifetimeSafetyReporterImpl : public LifetimeSafetyReporter {
C == Confidence::Definite
? diag::warn_lifetime_safety_loan_expires_permissive
: diag::warn_lifetime_safety_loan_expires_strict)
- << IssueExpr->getEndLoc();
+ << IssueExpr->getSourceRange();
S.Diag(FreeLoc, diag::note_lifetime_safety_destroyed_here);
S.Diag(UseExpr->getExprLoc(), diag::note_lifetime_safety_used_here)
- << UseExpr->getEndLoc();
+ << UseExpr->getSourceRange();
}
void reportUseAfterReturn(const Expr *IssueExpr, const Expr *EscapeExpr,
@@ -2895,10 +2895,10 @@ class LifetimeSafetyReporterImpl : public LifetimeSafetyReporter {
C == Confidence::Definite
? diag::warn_lifetime_safety_return_stack_addr_permissive
: diag::warn_lifetime_safety_return_stack_addr_strict)
- << IssueExpr->getEndLoc();
+ << IssueExpr->getSourceRange();
S.Diag(EscapeExpr->getExprLoc(), diag::note_lifetime_safety_returned_here)
- << EscapeExpr->getEndLoc();
+ << EscapeExpr->getSourceRange();
}
void suggestAnnotation(SuggestionScope Scope,
More information about the cfe-commits
mailing list