1package Volatile13 is
2
3   type Index_Map (Length : Natural) is record
4      Map : String (1 .. Length);
5   end record;
6
7   type Index_Map_Access is access all Index_Map;
8   pragma Volatile (Index_Map_Access);
9
10   type Shared_String (Size : Natural) is limited record
11      Length    : Natural := 0;
12      Index_Map : Index_Map_Access := null;
13   end record;
14
15   Shared_Empty : Shared_String := (Size => 64, others => <>);
16
17   procedure Compute_Index_Map (Self : Shared_String);
18
19end Volatile13;
20