CVS difference for ai22s/ai22-0023-1.txt
--- ai22s/ai22-0023-1.txt 2022/01/27 07:50:00 1.1
+++ ai22s/ai22-0023-1.txt 2022/02/04 03:54:24 1.2
@@ -1,4 +1,4 @@
-!standard 1.1.2(35) 22-01-25 AI22-0023-1/01
+!standard 1.1.2(35) 22-02-03 AI22-0023-1/02
!standard 1.2(10/2)
!standard 3.4.1(3/2)
!standard 3.8(18/2)
@@ -19,6 +19,8 @@
!standard G.1.1(56)
!standard G.1.1(57)
!class presentation 22-01-19
+!status Corrigendum 1-2022 22-02-03
+!status ARG Approved 16-0-0 22-02-03
!status work item 22-01-19
!status received 21-04-12
!priority Low
@@ -28,7 +30,7 @@
Various deferred presentation issues are handled.
-!question
+!issue
(1) [WG 9 comment #15] The second sentence of 10.2.1(18/3) is a very long,
complex sentence (with 6 commas!); should it be restructured? (Yes.)
@@ -65,7 +67,7 @@
happens if a task entry is called before the task is activated? Probably the
caller task is blocked until the callee task either has been activated and
accepts the entry call, or becomes terminated for some reason. Should the note
-should be extended to say what happens? (Yes.)
+should be extended to say what happens? (No.)
(8) [WG 9 comment #177] In 7.3.3(4/5) the phrase "a name that denotes the
declaration" is referring to the current instance of the type. But the
@@ -83,7 +85,7 @@
(10) [WG 9 comment #179] In A.18.2(253/2), we say "vector object" all in lower
case. A.18.3(158/2) says "doubly-linked List object", with List capitalized.
Similarly, A.18.4(81/2) says "a Map object" and A.18.7(102/2) says "a Set
-object", while A.18.10(229/3) says "a Tree onject". Make these
+object", while A.18.10(229/3) says "a multiway tree object". Make these
consistent? (Yes.)
(11) G.1.1(56,57) refer to IEC 559:1989, however the current standard is
@@ -133,12 +135,12 @@
(3) Modify 3.4.1(3/2):
Every type is {one of}[either] a *specific* type, a *class-wide* type, or a
- *universal( type. A specific type is one defined by a type_declaration,
+ *universal* type. A specific type is one defined by a type_declaration,
a formal_type_declaration, or a full type definition embedded in
another construct. Class-wide and universal types are implicitly
defined, to act as representatives for an entire class of types, as follows:
-[Editor's note: I'm unsure that this change is actually an improvement.]
+[Move this to AI12-0437-1.]
(4) Modify 3.8(18/2):
@@ -168,7 +170,7 @@
(5) Add before 7.3.2(1/5):
- A type invariant is a minimally useful assertion about the state of objects
+ A type invariant is an assertion about the state of objects
of a type exported by a package. The type invariant is enforced on
objects used by clients of the package; it is generally not enforced on
objects inside of the package. Similarly, a class-wide type invariant is an
@@ -203,11 +205,8 @@
actually helps anything. Perhaps we should just add an AARM note like the one
given??]
-(7) Modify 9.2(7):
+(7) No wording change recommended.
- An entry of a task can be called before the task has been activated. {Such
- a call is always queued, as the entry is necessarily closed (see 9.5.3).}
-
(8) Modify 7.3.2(5/5):
Within an invariant expression, {a name that denotes the associated type
@@ -346,15 +345,18 @@
both of these rules could apply in the generic instance case (since a subunit
can be a completion of a dispatching operation).
-Later bug fixes broaded the subunit rule to any compilation unit, and the type
+Later bug fixes broadened the subunit rule to any compilation unit, and the type
extension rule was added. After those changes, the connection to the later
-sentences were lost.
+sentences was lost.
(7) This subclause occurs before the description of entry calls, so we don't
-want to say very much about the mechanism.
+want to say very much about the mechanism of the calls. Indeed, it's unclear
+that we should be talking about entry calls at all here. But given that this
+note is unchanged from original Ada 95, there seems to be little reason to
+make a change at this time (either deleting or expanding the note).
(8) 8.6 (17-18), which formally define "current instance" of a type, talk
-a "usage name" denoting "the same declaration of the type". So, the use of
+of a "usage name" denoting "the same declaration of the type". So, the use of
"identifier" in 7.3.2(5/4) is too narrow (it does not include renames, for
instance). We change the wording to be more like that of 7.3.3(4/5).
@@ -366,7 +368,7 @@
(10) As the text reads better without the capital letters, we change the
wording to lower case all of the text in these cases.
-(11) As Standards should not reference superceded Standards unless absolutely
+(11) As Standards should not reference superseded Standards unless absolutely
necessary, we update the uses to point to ISO/IEC 60559:2020. We also add this
Standard to the list in 1.2 Normative References.
@@ -494,7 +496,7 @@
the only operations that can be applied to this
current instance are those defined for such a formal derived type.
-!corrigedum 8.3(26/2)
+!corrigendum 8.3(26/2)
@drepl
A non-overridable declaration is illegal if there is a homograph occurring
@@ -527,18 +529,6 @@
in an instance; such declarations may have type conformant profiles in the
instance, so long as the corresponding declarations in the generic were not
type conformant.
-
-
-
-!corridendum 9.2(7)
-
-@drepl
-@xindent<@s9<NOTE 1 An entry of a task can be called before the task has been
-activated.>>
-@dby
-@xindent<@s9<NOTE 1 An entry of a task can be called before the task has been
-activated. Such a call is always queued, as the entry is necessarily closed
-(see 9.5.3).>>
!corrigendum 10.2.1(18/3)
Questions? Ask the ACAA Technical Agent