CVS difference for ai05s/ai05-0090-1.txt

Differences between 1.5 and version 1.6
Log of other versions for file ai05s/ai05-0090-1.txt

--- ai05s/ai05-0090-1.txt	2008/06/14 06:58:29	1.5
+++ ai05s/ai05-0090-1.txt	2008/07/12 02:17:13	1.6
@@ -1,9 +1,8 @@
-!standard 4.1.3(8-9.2/2)                                        08-06-14    AI05-0090-1/03
-!standard 9.1(9.2/3)
+!standard 4.1.3(9.2/2)                                         08-07-11    AI05-0090-1/04
 !standard 9.1(9.5/2)
-!standard 9.4(11.1/3)
 !standard 9.4(11.4/2)
 !class binding interpretation 08-02-04
+!status ARG Approved  7-0-1  08-06-21
 !status work item 08-02-04
 !status received 08-02-04
 !priority Medium
@@ -28,7 +27,7 @@
 
    procedure Prim (S : in out Synch_Interface) is abstract;
 
-   procedure Yet_Another_Op (Obj : in out Synch_Inteface'Class);
+   procedure Yet_Another_Op (Obj : in out Synch_Interface'Class);
 
 end Synch_Pkg;
 
@@ -80,13 +79,25 @@
 
 !wording
 
-Add in 4.1.3(9.2/2), following the sentence that starts "The designator
-of the subprogram shall not be the same...":
+Modify 4.1.3(9.2/2):
 
-The subprogram shall not be an implicitly declared primitive operation
-of type T that overrides an inherited subprogram implemented by an entry
-or protected subprogram visible at the point of the selected component.
+The prefix (after any implicit dereference) shall resolve to denote an
+object or value of a specific tagged type T or class-wide type T'Class.
+The selector_name shall resolve to denote a view of a subprogram declared
+immediately within the declarative region in which an ancestor of the type
+T is declared. The first formal parameter of the subprogram shall be of
+type T, or a class-wide type that covers T, or an access parameter
+designating one of these types. The designator of the subprogram shall not
+be the same as that of a component of the tagged type visible at the point
+of the selected_component. {The subprogram shall not be an implicitly
+declared primitive operation of type T that overrides an inherited subprogram
+implemented by an entry or protected subprogram visible at the point of
+the selected component.} The selected_component denotes a view of this
+subprogram that omits the first formal parameter. This view is called
+a prefixed view of the subprogram, and the prefix of the selected_component
+(after any implicit dereference) is called the prefix of the prefixed view. 
 
+
 Add this AARM paragraph following 4.1.3(9.2/2):
 
 AARM Discussion: The part of the rule that excludes a primitive overriding
@@ -114,7 +125,7 @@
 
 The prefixed view profile of an explicitly declared primitive subprogram
 of a tagged task type shall not be type conformant with any entry of the
-task type, if the subprogram has the same defining_identifier as the entry
+task type, if the subprogram has the same defining name as the entry
 and the first parameter of the subprogram is of the task type or is
 an access parameter designating the task type.
 
@@ -132,9 +143,9 @@
 The prefixed view profile of an explicitly declared primitive subprogram
 of a tagged protected type shall not be type conformant with any protected
 operation of the protected type, if the subprogram has the same
-defining_identifier or defining_operator_symbol as the protected operation
-and the first parameter of the subprogram is of the protected type or is
-an access parameter designating the protected type.
+defining name as the protected operation and the first parameter of the
+subprogram is of the protected type or is an access parameter designating
+the protected type.
 
 !discussion
 
@@ -188,8 +199,70 @@
 the former is explicit in the program text. This preference rule,
 added to 4.1.3(9.2/2), is similar to the rule in that same paragraph
 for preferring a component over a subprogram with the same name.
+
+!corrigendum 4.1.3(9.2/2)
+
+@drepl
+@xindent<The @fa<prefix> (after any implicit dereference) shall resolve to
+denote an object or value of a specific tagged type @i<T> or class-wide type
+@i<T>'Class. The @fa<selector_name> shall resolve to denote a view of a
+subprogram declared immediately within the declarative region in which an
+ancestor of the type @i<T> is declared. The first formal parameter of the
+subprogram shall be of type @i<T>, or a class-wide type that covers @i<T>, or
+an access parameter designating one of these types. The designator of the
+subprogram shall not be the same as that of a component of the tagged type
+visible at the point of the @fa<selected_component>. The
+@fa<selected_component> denotes a view of this subprogram that omits the first
+formal parameter. This view is called a @i<prefixed view> of the subprogram,
+and the @fa<prefix> of the @fa<selected_component> (after any implicit
+dereference) is called the @i<prefix> of the prefixed view.>
+@dby
+@xindent<The @fa<prefix> (after any implicit dereference) shall resolve to
+denote an object or value of a specific tagged type @i<T> or class-wide type
+@i<T>'Class. The @fa<selector_name> shall resolve to denote a view of a
+subprogram declared immediately within the declarative region in which an
+ancestor of the type @i<T> is declared. The first formal parameter of the
+subprogram shall be of type @i<T>, or a class-wide type that covers @i<T>, or
+an access parameter designating one of these types. The designator of the
+subprogram shall not be the same as that of a component of the tagged type
+visible at the point of the @fa<selected_component>. The subprogram shall not
+be an implicitly declared primitive operation of type @i<T> that overrides
+an inherited subprogram implemented by an entry or protected subprogram
+visible at the point of the selected component. The
+@fa<selected_component> denotes a view of this subprogram that omits the first
+formal parameter. This view is called a @i<prefixed view> of the subprogram,
+and the @fa<prefix> of the @fa<selected_component> (after any implicit
+dereference) is called the @i<prefix> of the prefixed view.>
+
+!corrigendum 9.1(9.5/2)
+
+@drepl
+The prefixed view profile of an explicitly declared primitive subprogram
+of a tagged task type shall not be type conformant with any entry of the
+task type, if the first parameter of the subprogram is of the task type
+or is an access parameter designating the task type. 
+@dby
+The prefixed view profile of an explicitly declared primitive subprogram
+of a tagged task type shall not be type conformant with any entry of the
+task type, if the subprogram has the same defining name as the entry
+and the first parameter of the subprogram is of the task type or is
+an access parameter designating the task type.
+
+!corrigendum 9.4(11.4/2)
 
---!corrigendum 4.1.3(8-9.2/2)
+@drepl
+The prefixed view profile of an explicitly declared primitive subprogram
+of a tagged protected type shall not be type conformant with any protected
+operation of the protected type, if the first parameter of the subprogram
+is of the protected type or is an access parameter designating the protected
+type.
+@dby
+The prefixed view profile of an explicitly declared primitive subprogram
+of a tagged protected type shall not be type conformant with any protected
+operation of the protected type, if the subprogram has the same
+defining name as the protected operation and the first parameter of the
+subprogram is of the protected type or is an access parameter designating
+the protected type.
 
 
 !ACATS Test

Questions? Ask the ACAA Technical Agent