> On Tue, 6 Nov 2018, Jan Hubicka wrote:
> 
> > Hi,
> > this patch adds code to clear typeless storage flag. This is needed to
> > enable some more merging for C++ types containing char array.
> >
> > Bootstrapped/regtesed x86_64-linux, OK?
> 
> OK.  (I guess we could equally well set it to 1?)

Then we would need to set it for front-end built incomplete types as
well. Whatever I construct in here should better match real incomplete
type built by front-ends otherwise merging of other types referring to
this one via pointers won't happen.

Honza

> 
> Richard.
>  
> > Honza
> > 
> >     * tree.c (fld_incomplete_type_of): Clear TYPE_TYPELESS_STORAGE
> >     flag.
> > Index: tree.c
> > ===================================================================
> > --- tree.c  (revision 265835)
> > +++ tree.c  (working copy)
> > @@ -5173,6 +5173,7 @@ fld_incomplete_type_of (tree t, struct f
> >       SET_TYPE_ALIGN (copy, BITS_PER_UNIT);
> >       TYPE_SIZE_UNIT (copy) = NULL;
> >       TYPE_CANONICAL (copy) = TYPE_CANONICAL (t);
> > +     TYPE_TYPELESS_STORAGE (copy) = 0;
> >       if (AGGREGATE_TYPE_P (t))
> >         {
> >           TYPE_FIELDS (copy) = NULL;
> > 
> > 
> 
> -- 
> Richard Biener <rguent...@suse.de>
> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 
> 21284 (AG Nuernberg)

Reply via email to