[cfe-commits] [Patch] Add a warning for for loops with conditions that do not change
Eli Friedman
eli.friedman at gmail.com
Mon Feb 6 14:02:16 PST 2012
On Mon, Feb 6, 2012 at 1:55 PM, Richard Trieu <rtrieu at google.com> wrote:
> The motivation of this path is to catch code like this:
>
> for (int i = 0; i < 10; ++i)
> for (int j = 0; j < 10; ++i)
> { }
>
> The second for loop increments i instead of j causing an infinite loop. The
> warning also checks the body of the for loop so it will trigger on:
>
> for (int i; i <10; ) { }
>
> But not trigger on:
>
> for (int i; i< 10; ) { ++i; }
>
> I'm still fine-tuning the trigger conditions, but would like some feedback
> on this patch.
Adding an additional recursive traversal of the body of every parsed
for loop is very expensive.
-Eli
More information about the cfe-commits
mailing list