@@ -6,21 +6,21 @@ Summary
66=======
77
88This proposal introduces the possibility of dynamically creating an access to
9- and Ada unconstrained array from an address and its boundaries .
9+ and Ada unconstrained array from an address and its bounds .
1010
1111Motivation
1212==========
1313
1414It is difficult today to create access to arrays created from outside of Ada,
1515e.g. when coming from C, as there's no way to dynamically create their
16- boundaries . This proposal will make it possible and simplify interfacing
16+ bounds . This proposal will make it possible and simplify interfacing
1717between system data and other languages.
1818
1919Guide-level explanation
2020=======================
2121
2222A new attribute is provided for arrays access types, ` Address_To_Access ` , which
23- takes as parameter an address as well as the boundaries of the expected object.
23+ takes as parameter an address as well as the bounds of the expected object.
2424For example:
2525
2626``` ada
@@ -34,7 +34,7 @@ For example:
3434```
3535
3636This attribute is available for all arrays. Constrained arrays do not require
37- boundaries to be provided. Multi-dimenstional arrays will need dimensions to
37+ bounds to be provided. Multi-dimenstional arrays will need dimensions to
3838be provided in order, and fixed lower bound only requires one dimension. For
3939example:
4040
@@ -101,10 +101,10 @@ This also adds more constraints on the implementation. Some compilers implement
101101access to arrays in a way that generates two pointers, one to the data and
102102another to the bounds, which can then be put in the same place when allocating
103103memory for Ada. The issue then becomes the free operation - if all memory is
104- allocated from Ada, it is possible to free both the data and the boundaries at
104+ allocated from Ada, it is possible to free both the data and the bounds at
105105the same time. However, in the example here, the address is externally provided
106106and is not necessarily expected to be freed from the Ada side. An alternate
107- implementation, such as putting the boundaries of the object in the pointer as
107+ implementation, such as putting the bounds of the object in the pointer as
108108opposed to indirectly referring to it, does fix this problem, but requires in-depth
109109changes. Note that this is also necessary for other RFCs (such as access to array
110110slice).
0 commit comments