https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63224
--- Comment #6 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Manuel López-Ibáñez from comment #4) > I'm sure that bug is already filled and analyzed, but I cannot find it right > now. > > The problem there (and probably here) is that a && b is converted to a & b, > and b is uninitialized if and only if (a == 0) but the uninit pass is not > smart enough to realize this. I think this is PR56574, but we need to check the dumps to be sure. The dump should be something like: test.c.NNNt.uninit1, you can get it with -fdump-tree-all-all-lineno.