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.

Reply via email to