-- { dg-do compile }
with Ada.Finalization;
package preelab is
   type T is limited private;
   pragma Preelaborable_Initialization (T);
private    
   type T is new Ada.Finalization.Limited_Controlled with null record;
end preelab;
-- { dg-do compile }
with Ada.Finalization;
package preelab is
   type T is limited private;
   pragma Preelaborable_Initialization (T);
private    
   type T is new Ada.Finalization.Limited_Controlled with null record;
end preelab;