On Wed, Mar 19, 2014 at 12:17:19PM +0100, Jakub Jelinek wrote:
> On Wed, Mar 19, 2014 at 12:13:57PM +0100, Marek Polacek wrote:
> > Apparently with LTO we can get a TYPE_NAME without a DECL_NAME,
> > so check that it exists before accessing it.
> > Note that the test has to be run; only compiling wasn't enough
> > to provoke the ICE.
> 
> ??  Shouldn't // { dg-do link } be sufficient?

Ah, forgot about that, it is sufficient.  Ok with dg-do link instead
of dg-do run?
 
> > --- gcc/ubsan.c
> > +++ gcc/ubsan.c
> > @@ -318,7 +318,7 @@ ubsan_type_descriptor (tree type, bool 
> > want_pointer_type_p)
> >      {
> >        if (TREE_CODE (TYPE_NAME (type2)) == IDENTIFIER_NODE)
> >     tname = IDENTIFIER_POINTER (TYPE_NAME (type2));
> > -      else
> > +      else if (DECL_NAME (TYPE_NAME (type2)) != NULL)
> >     tname = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type2)));
> >      }
> 
> This looks good to me.

Thanks.

        Marek

Reply via email to