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)

Reply via email to