CVS difference for ais/ai-00391.txt

Differences between 1.4 and version 1.5
Log of other versions for file ais/ai-00391.txt

--- ais/ai-00391.txt	2004/12/09 19:51:33	1.4
+++ ais/ai-00391.txt	2004/12/09 19:53:44	1.5
@@ -1,4 +1,4 @@
-!standard 03.09.03    (04)                          04-12-06  AI95-00391/03
+!standard 03.09.03    (04)                          04-12-09  AI95-00391/04
 !standard 03.04       (27)
 !standard 03.09.01    (04)
 !standard 03.09.03    (06)
@@ -83,13 +83,10 @@
    ...  If the result type of the inherited subprogram is the
    derived type, the result of calling the parent's subprogram
    is converted to the derived type{, or in the case of a null
-   extension, extended to the derived type with an
-   extension_aggregate of the form:
+   extension, extended to the derived type using the equivalent of
+   an extension_aggregate with the original result as the ancestor_part and
+   NULL RECORD as the record_component_association_list}.
 
-     (*<parent function result>* with null record)
-
-   }
-
 Add after 3.9.1(4):
 
          Static Semantics
@@ -99,11 +96,14 @@
    includes no component_declarations.
 
 Modify 3.9.3(4):
+
+   For a derived type, if the parent or ancestor type has an abstract
+   primitive subprogram, {has a primitive function with a controlling
+   access result,} or {, for a derived type other than a null extension,
+   has} a primitive function with a controlling result, then:
 
-   For a derived type, if the parent or abstract type has an abstract
-   formal subprogram, or a
-   {type other than a null extension inherits a} primitive function
-   with a controlling result, then:
+NOTE: The mention of "controlling access result" above presumes an AI
+still in development to fix AI-318-2.
 
 Modify 3.9.3(6):
 

Questions? Ask the ACAA Technical Agent