================
@@ -668,10 +668,10 @@ class LifetimeSafetySemaHelperImpl : public 
LifetimeSafetySemaHelper {
     if (OriginExprChain.empty())
       return;
 
-    const Expr *LastExpr = OriginExprChain.back();
+    const Expr *LastExpr = OriginExprChain.front();
     std::string IssueStr = getDiagSubjectDescription(LastExpr);
 
-    for (const Expr *CurrExpr : reverse(OriginExprChain.drop_back())) {
+    for (const Expr *CurrExpr : OriginExprChain.drop_front()) {
----------------
suoyuan666 wrote:

According to `FoldingSetBase::InsertNode()`, `ImmutableList` performs forward 
insertion. As a result, `buildOriginFlowChain()` now returns a list starting 
from `IssueFact` instead of `StartPoint`. Consequently, the expression list 
obtained by Sema diagnostic no longer starts from `StartPoint`, which requires 
changing `drop_back()` to `drop_front()`.

https://github.com/llvm/llvm-project/blob/main/llvm/lib/Support/FoldingSet.cpp#L304C1-L331C2

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

Reply via email to