http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54554
--- Comment #5 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2013-01-04 12:49:39 UTC --- (In reply to comment #4) > Still even without knowing that a "may be used uninitialized" warning can be > issued in any case. GCC does not warn if it can prove that the code is never executed. But it doesn't even try to prove that without optimization enabled, so it doesn't warn. Otherwise, it would warn for obvious things like: int d; if (0) return d; and people will complain.