[Bug bootstrap/44302] [4.6 Regression] Failed to bootstrap

dodji at redhat dot com gcc-bugzilla@gcc.gnu.org
Fri May 28 00:40:00 GMT 2010



------- Comment #5 from dodji at gcc dot gnu dot org  2010-05-28 00:39 -------
Subject: Re:  [4.6 Regression] Failed to bootstrap

"hjl dot tools at gmail dot com" <gcc-bugzilla@gcc.gnu.org> writes:

> ------- Comment #3 from hjl dot tools at gmail dot com  2010-05-27 23:01 -------
> This one avoids one extra is_naming_typedef_decl call:
>
> ---
> Index: dwarf2out.c
> ===================================================================
> --- dwarf2out.c (revision 159943)
> +++ dwarf2out.c (working copy)
> @@ -19401,6 +19401,7 @@ gen_typedef_die (tree decl, dw_die_ref c
>    else
>      {
>        tree type;
> +      bool naming_typedef_decl = is_naming_typedef_decl (decl);
>
>        add_name_and_src_coords_attributes (type_die, decl);
>        if (DECL_ORIGINAL_TYPE (decl))
> @@ -19427,13 +19428,14 @@ gen_typedef_die (tree decl, dw_die_ref c
>              generate that DIE right away. add_type_attribute
>              called below will then pick (via lookup_type_die) that
>              anonymous struct DIE.  */
> -         gen_tagged_type_die (type, context_die, DINFO_USAGE_DIR_USE);
> +         if (naming_typedef_decl)
> +           gen_tagged_type_die (type, context_die, DINFO_USAGE_DIR_USE);
>         }
>
>        add_type_attribute (type_die, type, TREE_READONLY (decl),
>                           TREE_THIS_VOLATILE (decl), context_die);
>
> -      if (is_naming_typedef_decl (decl))
> +      if (naming_typedef_decl)
>         /* We want that all subsequent calls to lookup_type_die with
>            TYPE in argument yield the DW_TAG_typedef we have just
>            created.  */

These hunks are not enough to prevent the Ada breakage PR44188. I am
afraid I will need to dig into this a bit further.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44302



More information about the Gcc-bugs mailing list