From: James Molloy Date: Fri, 4 Oct 2019 17:15:30 +0000 (+0000) Subject: [Automaton] Fix invalid iterator reference X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6d41f1c7314f75776972c8bbad14f0fe190736e3;p=llvm [Automaton] Fix invalid iterator reference Found by the expensive checks bot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373763 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Support/Automaton.h b/include/llvm/Support/Automaton.h index 38ab92fe639..5fe0824017d 100644 --- a/include/llvm/Support/Automaton.h +++ b/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});