------- Comment #5 from rguenth at gcc dot gnu dot org 2006-10-17 12:33 -------
We're getting a type variant with the attribute created which shares TYPE_NAME
which in turn points back to the wrong (un-attributed) type. So we do not
create a die for the attributed type.
This can be worked around with
Index: tree.c
===================================================================
*** tree.c (revision 117822)
--- tree.c (working copy)
*************** build_type_attribute_variant (tree ttype
*** 3310,3315 ****
--- 3310,3320 ----
ntype = type_hash_canon (hashcode, ntype);
ttype = build_qualified_type (ntype, TYPE_QUALS (ttype));
+ if (TYPE_NAME (ttype))
+ {
+ TYPE_NAME (ttype) = copy_node (TYPE_NAME (ttype));
+ TREE_TYPE (TYPE_NAME (ttype)) = ttype;
+ }
}
return ttype;
after which we have the same situation as currently on mainline (cc1plus
segfaults, cc1 is fine).
I guess something fixed this on the mainline - any idea what?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29436