CVS difference for ais/ai-00345.txt

Differences between 1.24 and version 1.25
Log of other versions for file ais/ai-00345.txt

--- ais/ai-00345.txt	2005/11/16 06:51:10	1.24
+++ ais/ai-00345.txt	2005/12/15 02:44:08	1.25
@@ -1,4 +1,4 @@
-!standard  3.09.01    (03)                             05-11-15  AI95-00345/12
+!standard  3.09.01    (03)                             05-11-29  AI95-00345/13
 !standard  2.09       (02)
 !standard  3.02       (12)
 !standard  3.02       (13)
@@ -9,6 +9,7 @@
 !standard  3.09.03    (02)
 !standard  3.09.04    (01)
 !standard  6.03.01    (24)
+!standard  6.04       (10)
 !standard  8.03       (18)
 !standard  9.01       (02)
 !standard  9.01       (08)
@@ -319,7 +320,8 @@
 
     A record type or private type that has the
     reserved word tagged in its declaration is called a tagged type. {In
-    addition, an interface type is a tagged type (see 3.9.4).}
+    addition, an interface type is a tagged type, as is a task or protected
+    type derived from an interface (see 3.9.4).}
     Redundant:[When deriving from a tagged type, [additional components
     may be defined. A]{a}s for any derived type, additional primitive
     subprograms may be defined, and inherited primitive subprograms may
@@ -327,11 +329,9 @@
     ancestor type{s}, or simply a type extension.
 
     Every type extension is also a
-    tagged type, and is either a record extension {of some other tagged
-    type,}[ or] a private extension of some other tagged
-    type{, or a non-interface task or protected type
-    derived from an interface type (a synchronized tagged type -- see 3.9.4)}
-    [of some other tagged type]. A record extension is defined by a
+    tagged type, and is [either] a record extension or a private extension
+    of some other tagged type{, or a non-interface synchronized tagged type
+    (see 3.9.4)}. A record extension is defined by a
     derived_type_definition with a record_extension_part{ (see 3.9.1),
     which may include the definition of additional components}. A
     private extension, which is a partial view of a record extension {or
@@ -341,9 +341,9 @@
 
 Change 3.9.1(1) to:
 
-    Every type extension is a tagged type, and is either a record extension or
+    Every type extension is a tagged type, and is a record extension or
     a private extension of some other tagged type, or a non-interface
-    task or protected type derived from an interface type.
+    synchronized tagged type.
 
 Modify the first sentence of 3.9.1(3):
 
@@ -417,8 +417,8 @@
      a tagged type is called a *synchronized* tagged type, as are synchronized
      interfaces and private extensions derived from synchronized interfaces.
 
-     A task interface is a (tagged, abstract) task type.
-     A protected interface is a (tagged, abstract) protected type.
+     A task interface is an abstract task type.
+     A protected interface is an abstract protected type.
 
 
   Change 3.9.4(8) to:
@@ -1160,17 +1160,17 @@
 @dby
 A record type or private type that has the reserved word @b<tagged> in
 its declaration is called a @i<tagged> type. In addition, an interface
-type is a tagged type (see 3.9.4). When deriving from a tagged
+type is a tagged type, as is a task or protected type derived from an
+interface (see 3.9.4). When deriving from a tagged
 type, as for any derived type, additional primitive subprograms may
 be defined, and inherited primitive subprograms may be overridden.
 The derived type is called an @i<extension> of its ancestor types, or
 simply a @i<type extension>.
 
-Every type extension is also a tagged type, and is either a @i<record
-extension> of some other tagged type, a @i<private extension> of some other
-tagged type, or a non-interface task or protected type derived from an
-interface type (a synchronized tagged
-type @emdash see 3.9.4). A record extension is defined by a
+Every type extension is also a tagged type, and is a @i<record
+extension> or a @i<private extension> of some other
+tagged type, or a non-interface synchronized tagged type (see 3.9.4).
+A record extension is defined by a
 @fa<derived_type_definition> with a @fa<record_extension_part> (see 3.9.1),
 which may include the definition of additional components. A private
 extension, which is a partial view of a record extension or of a
@@ -1183,9 +1183,9 @@
 Every type extension is a tagged type, and is either a @i<record extension> or
 a @i<private extension> of some other tagged type.
 @dby
-Every type extension is a tagged type, and is either a @i<record extension> or
+Every type extension is a tagged type, and is a @i<record extension> or
 a @i<private extension> of some other tagged type, or a non-interface
-task or protected type derived from an interface type.
+synchronized tagged type.
 
 !corrigendum 3.9.1(3)
 

Questions? Ask the ACAA Technical Agent