http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36296
--- Comment #18 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2013-04-17 09:31:59 UTC --- In fact, we should have removed the i=i idiom a long time ago. The correct thing to do (as Linus says) is to initialize the variable to a sensible value to silence the warning: http://lwn.net/Articles/529954/ If GCC is smart enough to remove the initialization, then there is no harm. If GCC is not smart enough, then the code is probably complex enough that GCC cannot optimize it properly and this is why it gives a false positive, so the fake initialization is the least of your worries.