https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at redhat dot com --- Comment #23 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Hello, sorry for late response. The assert which trigger is there so we do not copy one DECL_NAME multiple times which code would do when there are multiple types that points to same TYPE_NAME being simplified. Because early debug info is already output we are supposed to translate all TYPE_NAMEs to IDENTIFIER_NODE with exception of main variants of C++ ODR types where TYPE_NAME is preserved and we compute its DECL_ASSEMBLER_NAME so we can identify same types cross-module later. The name is supposed to be simplified by fld_simplified_type_name. I am not sure how to get command line for debugger but I assume that it does not simplify type name because type_with_linkage_p returns true which is wrong for Ada types (it tests whether it is C++ ODR type). type_with_linkage_p basically assumes that only C++ types have DECL_NAME of TYPE_DECL which is not true for Ada, so we need to find way to tell these types apart.