CVS difference for ai12s/ai12-0373-1.txt
--- ai12s/ai12-0373-1.txt 2020/03/23 04:15:03 1.3
+++ ai12s/ai12-0373-1.txt 2020/03/31 22:23:08 1.4
@@ -1,4 +1,4 @@
-!standard 3.1(1) 20-03-22 AI12-0373-1/01
+!standard 3.1(1) 20-03-26 AI12-0373-1/02
@@ -17,8 +17,8 @@
A number of fixes to the draft Ada 202x Standard are needed:
-(1) The definition of statically names only excludes components found in
+(1) The definition of statically names only excludes record components found
(2) Freezing of library units occurs at the end of the unit.
@@ -108,7 +108,17 @@
possible (no sense in making illegal constructs which are not a problem),
even if that is more than other similar constructs.
-(2) Obviously, we need freezing and syntax rules that allow Global aspects.
+(2) Obviously, we need syntax rules that allow Global aspects.
+The previous rules did not make a special case for library units. Since they
+technically occur in the declaration list of Standard, their aspects would
+not be frozen or evaluated until bind time. That means their values couldn't
+be used during their compilation or during the compilation of other units;
+any rule involving them would have to be treated as post-compilation rules.
+Similarly, the visibility would seem to allow private items to be used in the
+aspects. We want only visible entities, and we want the evaluation to occur
+no later than the end of the compilation unit (so they're part of the
+compilation of the unit). So we change the rules to ensure these happen.
(3) Clearly, objects are intended to be a subset of entities. There is
plenty of wording that assumes that already in the Standard. For instance,
Questions? Ask the ACAA Technical Agent