================
@@ -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