https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65549
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ebotcazou at gcc dot gnu.org --- Comment #31 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- That's the prominent issue with LTO in Ada because there are a lot of nested functions in Ada. We use a local patch that fixes up the limbo list again: @@ -24063,6 +24080,11 @@ dwarf2out_finish (const char *filename) } #endif resolve_addr (comp_unit_die ()); + /* resolve_addr calls force_decl_die, which can put new DIEs on the limbo + list in LTO mode when nested functions are put in a different partition + than that of their parent function. */ + if (in_lto_p) + fixup_limbo_list (); move_marked_base_types (); for (node = deferred_asm_name; node; node = node->next)