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,


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

Reply via email to