| 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; |