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