From: Ulya Trofimovich Date: Fri, 28 Aug 2015 21:03:51 +0000 (+0100) Subject: Clarified control flow in nested loops. X-Git-Tag: 0.15~90 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=85593a2323042f726eee2f0c790e3ee7ecf93951;p=re2c Clarified control flow in nested loops. --- diff --git a/re2c/src/ir/dfa/dfa.cc b/re2c/src/ir/dfa/dfa.cc index 8870b0d8..2b2bd41e 100644 --- a/re2c/src/ir/dfa/dfa.cc +++ b/re2c/src/ir/dfa/dfa.cc @@ -176,18 +176,16 @@ State *DFA::findState(Ins **kernel, ptrdiff_t kCount) { if (s->kCount == kCount) { - for (Ins ** iP = s->kernel, * i; (i = *iP); ++iP) + bool marked = true; + for (Ins ** iP = s->kernel, * i; marked && (i = *iP); ++iP) { - if (!isMarked(i)) - { - goto nextState; - } + marked = isMarked (i); + } + if (marked) + { + goto unmarkAll; } - goto unmarkAll; } - -nextState: - ; } s = new State;