Natools

Check-in [3a18c0edc9]
Login
Overview
Comment:references: add Implicit_Dereference aspects
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 3a18c0edc9466c7384f377e4b75516b8bf759b43
User & Date: nat on 2014-11-26 20:13:24
Other Links: manifest | tags
Context
2014-11-27
22:25
reference_tests: add a test for the implicit dereference check-in: 263f8e760e user: nat tags: trunk
2014-11-26
20:13
references: add Implicit_Dereference aspects check-in: 3a18c0edc9 user: nat tags: trunk
2014-11-09
20:48
static_hash_maps-s_expressions: add commands for definite or indefinite elements check-in: 1cc98d90f5 user: nat tags: trunk
Changes

Modified src/natools-references__intel.ads from [8d5344f138] to [3c95c3227f].

33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
   Counter_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;
   Data_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;

package Natools.References is
   pragma Preelaborate (References);

   type Accessor (Data : not null access constant Held_Data) is
     limited private;
   type Mutator (Data : not null access Held_Data) is
     limited private;

   type Data_Access is access Held_Data;
   for Data_Access'Storage_Pool use Data_Pool;


   type Immutable_Reference is new Ada.Finalization.Controlled with private;
   pragma Preelaborable_Initialization (Immutable_Reference);







|

|







33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
   Counter_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;
   Data_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;

package Natools.References is
   pragma Preelaborate (References);

   type Accessor (Data : not null access constant Held_Data) is
     limited private with Implicit_Dereference => Data;
   type Mutator (Data : not null access Held_Data) is
     limited private with Implicit_Dereference => Data;

   type Data_Access is access Held_Data;
   for Data_Access'Storage_Pool use Data_Pool;


   type Immutable_Reference is new Ada.Finalization.Controlled with private;
   pragma Preelaborable_Initialization (Immutable_Reference);

Modified src/natools-references__protected.ads from [3cec4789c7] to [d99e38b57b].

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
   Counter_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;
   Data_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;

package Natools.References is
   pragma Preelaborate (References);

   type Accessor (Data : not null access constant Held_Data) is
     limited private;
   type Mutator (Data : not null access Held_Data) is
     limited private;

   type Data_Access is access Held_Data;
   for Data_Access'Storage_Pool use Data_Pool;


   type Immutable_Reference is new Ada.Finalization.Controlled with private;
   pragma Preelaborable_Initialization (Immutable_Reference);







|

|







31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
   Counter_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;
   Data_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;

package Natools.References is
   pragma Preelaborate (References);

   type Accessor (Data : not null access constant Held_Data) is
     limited private with Implicit_Dereference => Data;
   type Mutator (Data : not null access Held_Data) is
     limited private with Implicit_Dereference => Data;

   type Data_Access is access Held_Data;
   for Data_Access'Storage_Pool use Data_Pool;


   type Immutable_Reference is new Ada.Finalization.Controlled with private;
   pragma Preelaborable_Initialization (Immutable_Reference);

Modified src/natools-references__unsafe.ads from [c4d7238aec] to [ee81d08042].

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
   Counter_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;
   Data_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;

package Natools.References is
   pragma Preelaborate (References);

   type Accessor (Data : not null access constant Held_Data) is
     limited private;
   type Mutator (Data : not null access Held_Data) is
     limited private;

   type Data_Access is access Held_Data;
   for Data_Access'Storage_Pool use Data_Pool;


   type Immutable_Reference is new Ada.Finalization.Controlled with private;
   pragma Preelaborable_Initialization (Immutable_Reference);







|

|







30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
   Counter_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;
   Data_Pool : in out System.Storage_Pools.Root_Storage_Pool'Class;

package Natools.References is
   pragma Preelaborate (References);

   type Accessor (Data : not null access constant Held_Data) is
     limited private with Implicit_Dereference => Data;
   type Mutator (Data : not null access Held_Data) is
     limited private with Implicit_Dereference => Data;

   type Data_Access is access Held_Data;
   for Data_Access'Storage_Pool use Data_Pool;


   type Immutable_Reference is new Ada.Finalization.Controlled with private;
   pragma Preelaborable_Initialization (Immutable_Reference);