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?

> --- 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.

        Jakub

Reply via email to