On Sat, Feb 9, 2019 at 10:10 AM Jan Hubicka <hubi...@ucw.cz> wrote: > > Hi, > this patch fixes ICE in free_lang_data compiling lto8.adb. > The fix is bit symptomatic becuase type_with_linkage_p should return > false for Ada types. Perhaps adding explicit flag to DECL_NAME would > make sense but it can wait for next stage1. > > The fix works because at this stage of free_lang_data all mangled names > must be computed and thus it is cheper to test presence of > DECL_ASSEMBLER_NAME anyway. > > Bootstrapped/regtested x86_64-linux, comitted. > PR lto/87957 > * tree.c (fld_simplified_type_name): Use DECL_ASSEMBLER_NAME_SET_P > instead of type_with_linkage. > Index: tree.c > =================================================================== > --- tree.c (revision 268722) > +++ 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); > }
This caused: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89272 -- H.J.