CVS difference for ais/ai-00114.txt
--- ais/ai-00114.txt 1998/10/12 23:36:40 1.2
+++ ais/ai-00114.txt 2000/10/05 02:47:30 1.3
@@ -1,4 +1,4 @@
-!standard 12.03 (11) 96-10-04 AI95-00114/00
+!standard 12.03 (11) 00-08-31 AI95-00114/00
!class confirmation 96-04-04
!status work item 96-04-10
!status received 96-04-04
@@ -6,17 +6,17 @@
!difficulty Hard
!subject Editorial Comments on AARM
-!summary 96-04-04
+!summary
This AI serves as a holder for editorial comments on AARM-only
annotations. Because the AARM has no official status as far as ISO is
concerned, these will be considered low priority.
-!question 96-04-04
+!question
-!response 96-04-04
+!response
-!appendix 96-10-04
+!appendix
!section 12.3(11)
!subject but the{y} can be in instances.
@@ -26,7 +26,13 @@
!discussion
****************************************************************
+From: Randy Brukardt (Editor)
+Date: August 30, 2000
+This issue was fixed in AARM 6.0 (of course, no one except Bob has that
+version :-).
+
+****************************************************************
!section 12.3(11)
!subject It doesn't matter that [an] one could imagine ...
!reference AARM-12.3(11.dd)
@@ -34,7 +40,6 @@
!reference 95-5391.a Keith Thompson 95-11-17>>
****************************************************************
-
!section 13.3(12)
!subject Address clauses for components
!reference AARM95-13.3(12)
@@ -54,7 +59,7 @@
to stand-alone objects follow from other rules? In particular, why is
this illegal (adapted from a posting to comp.lang.ada by Bob Gilbert)?
- protected Discretes is
+ protected Discretes is
procedure Write(Settings : in Setting_List);
private
HW_Control : Discrete_HW_Control;
@@ -66,22 +71,6 @@
****************************************************************
-
-!section 13.1(14)
-!subject Errors in example
-!reference RM95-13.1(14)
-!from Jorgen Bundgaard 96-03-07
-!keywords
-!reference 96-5434.a Joergen Bundgaard 96-3-7>>
-!discussion
-
-The example 13.1(14.c-e) contains other violations of the legality rules than
-those marked with "-- Illegal!": types A1 and A2 should be general access
-types, and the accessibility levels of the Obj1(17) and Obj2(17) should not be
-statically deeper than that of access types A2 and A1, respectively.
-
-****************************************************************
-
!section 13.3(12)
!subject Address clauses for components
!reference AARM95-13.3(12)
@@ -91,12 +80,12 @@
!discussion
> The referenced paragraph in the AARM says:
->
+>
> 12 {specifiable [of Address for stand-alone objects and for
> program units]} {Address clause} Address may be specified for
> [stand-alone] objects and for program units via an attribute_
> definition_clause.
->
+>
> The use of square brackets around the phrase "stand-alone" implies that it
> is redundant and can be proven from other rules. How does the restriction
> to stand-alone objects follow from other rules?
@@ -123,14 +112,14 @@
>... In particular, why is
> this illegal (adapted from a posting to comp.lang.ada by Bob Gilbert)?
->
-> protected Discretes is
+>
+> protected Discretes is
> procedure Write(Settings : in Setting_List);
> private
> HW_Control : Discrete_HW_Control;
> for HW_Control use at Some_Legal_Address;
> end Discretes;
->
+>
> I'm not suggesting that it should be, just asking how it can be proven
> from other rules.
@@ -143,7 +132,6 @@
- Bob
****************************************************************
-
!section 13.3(12)
!subject Address clauses for components
!reference AARM95-13.3(12)
@@ -166,32 +154,20 @@
phrase "stand-alone" does appear in the RM, without the brackets.
****************************************************************
-
-!section 7.3(7)
-!subject Semantic Errors in AARM 7.3 Examples
-!reference AARM-7.3(7.f)
-!reference AARM-7.3(7.h)
-!reference AARM-7.3(7.m)
-!from Ivan B. Cvar 96-08-01
-!reference 96-5629.a Ivan B. Cvar 96-8-1>>
+!section 13.1(14)
+!subject Errors in example
+!reference RM95-13.1(14)
+!from Jorgen Bundgaard 96-03-07
+!keywords
+!reference 96-5434.a Joergen Bundgaard 96-3-7>>
!discussion
-
-There are 3 unintended semantic errors in Annotated Ada 95 Reference Manual
-clause 7.3, paragraphs 7.f, 7.h, and 7.m. They are:
-
-In the example of 7.3(7.f), the closing designator at the end of the
-body of procedure Foo is wrong. It should be Foo, not A.
-
-In the example of 7.3(7.h), the named association in the discriminant
-constraint denotes a discriminant named A, whereas the correct name is D,
-as declared in paragraph 7.g.
-In the example of 7.3(7.m), the package Q should have the context clause
-"with P; use P" to make the name of type Parent visible, and for consistency
-with 7.3(7.n) since 7.3(7.n) contains a with clause that denotes Q.
+The example 13.1(14.c-e) contains other violations of the legality rules than
+those marked with "-- Illegal!": types A1 and A2 should be general access
+types, and the accessibility levels of the Obj1(17) and Obj2(17) should not be
+statically deeper than that of access types A2 and A1, respectively.
****************************************************************
-
!section 3.9.2(20)
!subject Illegal use of names in 3.9.2 example
!reference AARM95-3.9.2(20.e)
@@ -218,9 +194,32 @@
P1.Op_B(Arg => Y); -- Dispatching call.
end Main;
+****************************************************************
+!section 7.3(7)
+!subject Semantic Errors in AARM 7.3 Examples
+!reference AARM-7.3(7.f)
+!reference AARM-7.3(7.h)
+!reference AARM-7.3(7.m)
+!from Ivan B. Cvar 96-08-01
+!reference 96-5629.a Ivan B. Cvar 96-8-1>>
+!discussion
+There are 3 unintended semantic errors in Annotated Ada 95 Reference Manual
+clause 7.3, paragraphs 7.f, 7.h, and 7.m. They are:
+
+In the example of 7.3(7.f), the closing designator at the end of the
+body of procedure Foo is wrong. It should be Foo, not A.
+
+In the example of 7.3(7.h), the named association in the discriminant
+constraint denotes a discriminant named A, whereas the correct name is D,
+as declared in paragraph 7.g.
+
+In the example of 7.3(7.m), the package Q should have the context clause
+"with P; use P" to make the name of type Parent visible, and for consistency
+with 7.3(7.n) since 7.3(7.n) contains a with clause that denotes Q.
****************************************************************
+
!topic Change from Ada 83 omitted
!reference AARM-95 13.7 (37.d-38.d)
!from Wes Groleau 98 Oct 06
@@ -234,19 +233,17 @@
standardization issue for this, so I presume there wasn't one
until the 9X effort.)
-!topic Change from Ada 83 omitted
-!reference AARM 5.4(18-18.h)
-!from Wes Groleau 98 Oct 06
-!keywords base type others case
-<<reference as: 1998-15927.b W. Wesley Groleau x4923 1998-10-6>>
-!discussion In Ada '83, a case statement controlled by a function call in
- some cases required either an "others" choice or an explicit
- choice for a value that could never occur. The latter
- workaround in Ada 83 made for ugly code, but many shops felt
- it was better than the maintenance risks of "others." Ada 95
- improved this situation. The improvement made the workaround
- illegal. I approve of the change, but would like to point out
- that it would be more accurate to mention it as an
- "incompatibility" instead of merely as an "extension."
+****************************************************************
+
+From: Randy Brukardt (Editor)
+Date: August 30, 2000
+
+I've made the corrections needed to implement the presentation issues
+above in the updated AARM, or explained why the suggested correction was
+not (and will not) be made.
+Newer items below this item (if any) have *not* been handled. (They should be
+on the updated AARM).
+
****************************************************************
+
Questions? Ask the ACAA Technical Agent