https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91027
--- Comment #2 from Jan Hubicka <hubicka at ucw dot cz> --- Hi, the reason is that type "struct C264" has DECL_ASSEMBLER_NAME (TYPE_NAME (type)) set to <identifier_node 0x7ffff660f3c0 10ltotests_04C284> which makes LTO to consider this type to be C++ type conforming ODR rule. I am not really fluent with d. Does d have something like ODR? If it doesn't then we need to arrange free_lang data to not consider d types to be C++ ODR types. The type seems to not be seen by free lang data which by itself is confusing. Honza