https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #33 from Jan Hubicka <hubicka at ucw dot cz> --- Hi, I am testing the following fix: since we already decided about mangling we are in fact safe to remove everything that does not have assembler name on it. Honza Index: tree.c =================================================================== --- tree.c (revision 268579) +++ tree.c (working copy) @@ -5152,7 +5152,8 @@ fld_simplified_type_name (tree type) /* Drop TYPE_DECLs in TYPE_NAME in favor of the identifier in the TYPE_DECL if the type doesn't have linkage. this must match fld_ */ - if (type != TYPE_MAIN_VARIANT (type) || ! type_with_linkage_p (type)) + if (type != TYPE_MAIN_VARIANT (type) + || !DECL_ASSEMBLER_NAME_SET_P (TYPE_NAME (type))) return DECL_NAME (TYPE_NAME (type)); return TYPE_NAME (type); }