@@ -2801,17 +2801,17 @@ void ExprEngine::processBranch(
28012801
28022802 if (StTrue) {
28032803 // If we are processing a loop condition where two iterations have
2804- // already been completed and the the false branch is also feasible, then
2805- // don't assume a third iteration, because it is a redundant execution
2804+ // already been completed and the false branch is also feasible, then
2805+ // don't assume a third iteration because it is a redundant execution
28062806 // path (unlikely to be different from earlier loop exits) and can cause
28072807 // false positives if e.g. the loop iterates over a two-element structure
28082808 // with an opaque condition.
28092809 //
28102810 // The iteration count "2" is hardcoded because it's the natural limit:
28112811 // * the fact that the programmer wrote a loop (and not just an `if`)
2812- // implies that they thought that the loop body may be executed twice;
2812+ // implies that they thought that the loop body might be executed twice;
28132813 // * however, there are situations where the programmer knows that there
2814- // are at most two iterations, but writes a loop that appears to be
2814+ // are at most two iterations but writes a loop that appears to be
28152815 // generic, because there is no special syntax for "loop with at most
28162816 // two iterations". (This pattern is common in FFMPEG and appears in
28172817 // many other projects as well.)
@@ -2824,7 +2824,7 @@ void ExprEngine::processBranch(
28242824 // FIXME: This "don't assume third iteration" heuristic partially
28252825 // conflicts with the widen-loop analysis option (which is off by
28262826 // default). If we intend to support and stabilize the loop widening,
2827- // we'll need to ensure that it 'plays nicely' with this logic.
2827+ // we must ensure that it 'plays nicely' with this logic.
28282828 if (!SkipTrueBranch || AMgr.options .ShouldWidenLoops )
28292829 Builder.generateNode (StTrue, true , PredN);
28302830 }
@@ -3750,7 +3750,7 @@ ExprEngine::getEagerlyAssumeBifurcationTags() {
37503750}
37513751
37523752// / The last expression where EagerlyAssume produced two transitions (i.e. it
3753- // / activated and the true and false case were both feasible).
3753+ // / activated and the true and false cases were both feasible).
37543754REGISTER_TRAIT_WITH_PROGRAMSTATE (LastEagerlyAssumeBifurcationAt, const Expr *)
37553755
37563756void ExprEngine::evalEagerlyAssumeBifurcation(ExplodedNodeSet &Dst,
0 commit comments