https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85788

--- Comment #4 from qinzhao at gcc dot gnu.org ---
(In reply to Martin Liška from comment #0)
> As seen, d == 0, thus 'for (; c; c = e)' never executes. It's combination of
> jump-threading and VRP that triggers the warning.

Yes, in this specific testing case, d == 0, the loop never executes. This is a
very special situation, and under such situation, the reported warning is a
false positive.

However, Whenever we slightly modify the testing case to make d not being 0,
the warning still there, and the loop executes, Then this warning catches a
REAL bug in the source code. 

So, I think that the warning is good to have in general. similar as PR109071,
providing more context to the user will be beneficial in general.

Reply via email to