From 717e540f7ea13eb73707b76bf9062a1704fc68b9 Mon Sep 17 00:00:00 2001 From: James Molloy Date: Fri, 4 Oct 2019 17:15:30 +0000 Subject: [PATCH] [Automaton] Fix invalid iterator reference Found by the expensive checks bot. llvm-svn: 373763 --- llvm/include/llvm/Support/Automaton.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/llvm/include/llvm/Support/Automaton.h b/llvm/include/llvm/Support/Automaton.h index 38ab92f..5fe0824 100644 --- a/llvm/include/llvm/Support/Automaton.h +++ b/llvm/include/llvm/Support/Automaton.h @@ -94,9 +94,8 @@ private: // Iterate over all existing heads. We will mutate the Heads deque during // iteration. unsigned NumHeads = Heads.size(); - for (auto HeadI = Heads.begin(), HeadE = std::next(Heads.begin(), NumHeads); - HeadI != HeadE; ++HeadI) { - PathSegment *Head = *HeadI; + for (unsigned I = 0; I < NumHeads; ++I) { + PathSegment *Head = Heads[I]; // The sequence of pairs is sorted. Select the set of pairs that // transition from the current head state. auto PI = lower_bound(Pairs, NfaStatePair{Head->State, 0ULL}); -- 2.7.4