On Tue, May 24, 2011 at 11:25:20AM +0200, Arnaud Charlet wrote: > > this patch fixes an obvious bootstrap issue caused by trying to assign > > a constant pointer to an none-constant. > > > > --- adaint.c (revision 174060) > > +++ adaint.c (working copy) > > @@ -3367,8 +3367,8 @@ > > char * > > __gnat_to_canonical_file_list_next (void) > > { > > - static char *empty = ""; > > - return empty; > > + static char empty[1]; > > + return &empty[0]; > > } > > I'm confused. The above looks wrong to me: it does not return an empty string, > it returns a pointer to an uninitialized string, which cannot be right (and > should generate a warning :-)
No, static vars are implicitly zero initialized when not explicitly initialized. Jakub