http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51828
Mikael Morin <mikael at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikael at gcc dot gnu.org --- Comment #4 from Mikael Morin <mikael at gcc dot gnu.org> 2012-02-27 21:17:39 UTC --- (In reply to comment #3) > (In reply to comment #0) > > libgfortran/intrinsics/unpack_generic.c: In function 'unpack_internal': > > The warnings are bogus - assuming that "dim > 0" - as: > > if (ret->data == NULL) > dim = GFC_DESCRIPTOR_RANK (mask); > for (n = 0; n < dim; n++) > rstride[n] = GFC_DESCRIPTOR_STRIDE_BYTES(ret, n); > else > dim = GFC_DESCRIPTOR_RANK (ret); > for (n = 0; n < dim; n++) > rstride[n] = GFC_DESCRIPTOR_STRIDE_BYTES(ret, n); > > rstride0 = rstride[0]; /* << may be used uninitialized in this function */ rstride0 = GFC_DESCRIPTOR_STRIDE_BYTES(ret, 0); ? assert (dim > 0); ? otherwise -> WONTFIX : the compiler can't know that dim > 0.