> 
> That's ugly and will for sure defeat warning / access code
> when we access this as char[], no?  I mean, we could
> as well use 'int str[1];' here?

Well, we always get char pointer via macro that is IMO OK, but I am also
not very much in love with this.
> 
> Maybe we can invent some C++ attribute for this?
> 
> [[gnu::string]]
> 
> or so that marks it as actual char and not typeless storage?

Attribute would probably make sense.  Not sure if gnu::string is best
name given that it can be also meaningful for array of small integers
(such as in wide_int).

Honza
> 
> Richard.
> 
> >  };
> >  
> >  struct GTY(()) tree_complex {
> > diff --git a/gcc/tree.c b/gcc/tree.c
> > index 81f867ddded..84115630184 100644
> > --- a/gcc/tree.c
> > +++ b/gcc/tree.c
> > @@ -2273,7 +2273,7 @@ build_string (unsigned len, const char *str /*= NULL 
> > */)
> >      memcpy (s->string.str, str, len);
> >    else
> >      memset (s->string.str, 0, len);
> > -  s->string.str[len] = '\0';
> > +  s->string.str[len].c = '\0';
> >  
> >    return s;
> >  }
> > 
> 
> -- 
> Richard Biener <rguent...@suse.de>
> SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
> Germany; GF: Felix Imend

Reply via email to