blob: 4fae165e77f7be683c5a3ff29cc16382e538f4dc [file] [log] [blame]
pragma Restrictions (No_Abort_Statements);
pragma Restrictions (Max_Asynchronous_Select_Nesting => 0);
with Ada.Finalization;
with System.Atomic_Counters;
package Opt75_Pkg is
type Rec is record
Counter : System.Atomic_Counters.Atomic_Counter;
end record;
type Rec_Ptr is access all Rec;
Empty_Rec : aliased Rec;
type T is new Ada.Finalization.Controlled with record
Ref : Rec_Ptr := Empty_Rec'Access;
end record;
overriding procedure Adjust (Object : in out T);
Empty : constant T := (Ada.Finalization.Controlled with Ref => Empty_Rec'Access);
type Arr is array (Integer range 1 .. 8, Integer range 1 .. 4) of T;
end Opt75_Pkg;