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