CVS difference for ai12s/ai12-0005-1.txt
--- ai12s/ai12-0005-1.txt 2021/05/24 22:55:22 1.47
+++ ai12s/ai12-0005-1.txt 2021/05/28 05:01:08 1.48
@@ -3346,12 +3346,82 @@
***************************************************************
+[From WG 9 review, issue 170.]
+
+Is this Ramification true if the component subtype of the string has
+predicates? Example: the subtype contains all and only the vowel letters.
+
+[Editor's response:]
+Good catch. I prefixed this with "If no predicates apply to the component
+subtype, ...".
+
***************************************************************
+
+[From WG 9 review, issue 167.]
+
+4.9 (13.b) In this "Ramification", the last case, "when specifying the
+value of a discriminant ...", is no longer exactly true, because a nonstatic
+value is now allowed if the value has a static subtype that governs the
+variant part, RM 4.3.1(17/5).
+
+[Editor's response:]
+
+You are correct. Moreover, this note reads as if this is a complete list of
+places where static expressions are required. But there has been no
+maintenance of this list in Ada 2005, Ada 2012, or Ada 202x, and it is almost
+certainly missing some constructs. It would be better to reduce it to a few
+interesting cases as examples, because no one is ever going to remember to
+maintain a list like this, (Rather, the complete list should be in the index
+as "static expression, required", but that's another can of worms at this
+late date - trying to find all of the places would be a pain.)
+
+Anyway, I replaced the entire note with:
+
+The language requires a static expression in a number_declaration, a numeric
+type definition, certain representation items, and a number of other contexts.
+
***************************************************************
+[From WG 9 review, issue 163.]
+
+C.6 (19.c/5) This "Implementation Note" follows a rule for full access objects,
+but does not say anything about full access objects. It seems the sentence that
+starts "If the record object is atomic then..." should instead start "If the
+record object is a full access object then...".
+
+[Editor's response:]
+
+Since there is a such a thing as a volatile full access object, that's
+insufficient as we do want to talk about the case of atomic reads and writes.
+So I think we need "... is an atomic full access object then ...".
+
+***************************************************************
+
+[From WG 9 review, issue 46.]
+
+E.2.2 (17.c/4): minor grammar fix:
+
+ Discussion: This could be accomplished via a self-referencing pointer or
+ via squirrelling {away} a writable pointer to a controlled object.
+
+***************************************************************
+
+[From WG 9 review, issue 48.]
+
+G.1.1(25.c/5) says:
+
+ Ramification: {AI12-0241-1} A nongeneric pure unit is always nonblocking,
+ so we don't need to talk about the Nonblocking aspect of these packages.
+ Similarly, a nongeneric pure unit always has the Global aspect set to
+ null, so we don't need to talk about that, either.
+
+The above is true, though there is no distinction between nongeneric and
+generic pure units at this point with respect to these rules (per 9.5(33/5)).
+So we should drop "nongeneric" here.
+
***************************************************************
-Editor's note (May 22, 2021): All of the items above this
+Editor's note (May 27, 2021): All of the items above this
marker have been included in the working version of the AARM.
****************************************************************
Questions? Ask the ACAA Technical Agent