Version 1.1 of ai12s/ai12-0388-1.txt
!standard 4.3.5(0) 20-08-21 AI12-0388-1/01
!standard 6.1.1(26.10/4)
!standard 6.1.1(29/4)
!standard D.4(16)
!class presentation 20-08-21
!status Amendment 1-2012 20-08-21
!status work item 20-08-21
!status received 20-07-31
!priority Low
!difficulty Easy
!qualifier Omission
!subject Still More Presentation issues
!summary
[Editor's note: This AI's changes have been included in draft 26 of the
RM even though it is not yet approved, as it is expected that these changes
will not be controversal.]
(1) Add (see 13.1.1) after "nonoverridable" in 4.3.5(12/5) and D.4(20/5).
(2) Use "are" in 6.1.1(26.10/5).
(3) In 6.1.1(29/5), replace "previously" with "above as part of the Name
Resolution Rules for Post'Class".
!question
(1) Typically, there is a cross-reference "(see 13.1.1)" after each (forward)
reference to "nonoverridable". But 4.3.5(12/5) and D.4(20/5) do not have it.
Should this be changed? (Yes.)
(2) 6.1.1(26.10/5) says (essentially) that "A and B is defined above". The
verb here should be "are", right? (Yes.)
(3) In 6.1.1(29/5), "described previously" is pretty vague in a large
subclause. Should we be more specific? (Yes.)
!response
(1) We typically put a cross-reference next to the first occurrence of any
term in a subclause if that term is defined after that subclause. Aggregate
is missing that. Max_Entry_Queue_Length is not a forward reference, but it
is far enough away from the definition that a cross-reference would be helpful
to many readers.
(2) We need a plural verb form to go with two items, of course.
(3) ISO does not allow us to use paragraph numbers in normative text (and our
tools don't allow it anywhere), so we have to describe the text in question.
That's a bit long-winded, but it's much more specific than "previously",
and the intended wording is a long ways away.
!wording
(1) Modify 4.3.5(12/5):
The Aggregate aspect is nonoverridable {(see 13.1.1)}.
Modify D.4(20/5):
If the Max_Entry_Queue_Length aspect for a type has a nonnegative value, the
Max_Entry_Queue_Length aspect for every individual entry of that type shall
not be greater than the value of the aspect for the type. The
Max_Entry_Queue_Length aspect of a type is nonoverridable {(see 13.1.1)}.
(2) Modify 6.1.1(26.10/5):
The type and nominal subtype of X'Old [is]{are} as implied by the above
definitions.
(3) Modify 6.1.1(29/5):
F'Result Within a postcondition expression for F, denotes the return object
of the function call for which the postcondition expression is
evaluated. The type of this attribute is that of the result subtype
of the function or access-to-function type result except within a
Post'Class postcondition expression for a function with a
controlling result or with a controlling access result; in those
cases the type of the attribute was described [previously]{above as
part of the Name Resolution Rules for Post'Class}.
!discussion
None.
!corrigendum 4.3.5(0)
Insert new clause:
See the conflict file for the changes.
!corrigendum 6.1.1(26.10/4)
Replace the paragraph:
The nominal subtype of X'Old is as implied by the above definitions. The
expected type of the prefix of an Old attribute is that of the attribute.
Similarly, if an Old attribute shall resolve to be of some type, then
the prefix of the attribute shall resolve to be of that type.
by:
The type and nominal subtype of X'Old are as implied by the above
definitions.
!corrigendum 6.1.1(29/4)
Replace the paragraph:
- F'Result
- Within
a postcondition expression for function F, denotes
the result object of the function. The type of this attribute is that
of the function result except within a Post'Class postcondition
expression for a function with a controlling result or with a
controlling access result. For a controlling result, the type of the
attribute is T'Class, where T is the function result type. For a
controlling access result, the type of the attribute is an anonymous
access type whose designated type is T'Class, where T is the
designated type of the function result type.
by:
- F'Result
- Within
a postcondition expression for F, denotes the return object of the
function call for which the postcondition expression is evaluated.
The type of this attribute is that of the result subtype of the
function or access-to-function type except within a Post'Class
postcondition expression for a function with a controlling result or with a
controlling access result; in those cases the type of the attribute was
described above as part of the Name Resolution Rules for Post'Class.
!corrigendum D.4(16)
Insert after the paragraph:
The implementation should use names that end with "_Queuing" for
implementation-defined queuing policies.
the new paragraphs:
Static Semantics
See the conflict file for the changes.
!ASIS
No ASIS effect.
!ACATS test
No ACATS tests needed for presentation issues.
!appendix
****************************************************************
Questions? Ask the ACAA Technical Agent