http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #7 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2012-04-26 10:46:11 UTC --- (In reply to comment #6) > On Wed, 25 Apr 2012, manu at gcc dot gnu.org wrote: > > > It seems to me you are right. However, I cannot see how to check for ={0} at > > the point of the warning. > > > > Joseph, any ideas? This part of the C FE is ancient. > > In general I think Jakub is more expert on the code for handling > initializers than I am. OK, but do you agree that the warning should be silenced always for ={0}? Jakub, do you have any pointers for this? At the point of the warning "value" is null, so I am not sure how to check for ={0}. There is a boolean zeroinit later, bool constructor_zeroinit = (VEC_length (constructor_elt, constructor_elements) == 1 && integer_zerop (VEC_index (constructor_elt, constructor_elements, 0)->value)); but this vector is not initialized in this case.