flow: change how "for (i = 0; ; i++) { ..." is handled
In the old code the i++ was ignored. But now we take it even though we
ignore all the other state changes. Now the following code:
j = 0;
for (i = 0; ; i++) {
if (x == 3)
break;
j++;
}
__smatch_implied(i);
__smatch_implied(j);
Gives:
test.c:20 func() implied: i = '0-max'
test.c:21 func() implied: j = '0'
Which is still not right, but it's improved. I really need to look at how
--two-passes should work again and fix how loops are handled.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>