CVS difference for ais/ai-00381.txt

Differences between 1.9 and version 1.10
Log of other versions for file ais/ai-00381.txt

--- ais/ai-00381.txt	2005/04/13 05:37:19	1.9
+++ ais/ai-00381.txt	2005/05/15 23:38:22	1.10
@@ -1,7 +1,9 @@
-!standard 13.12 (4)                                   05-03-28  AI95-00381/04
+!standard 13.12 (4)                                   05-05-05  AI95-00381/05
 !standard 13.12.1 (1)
 !class amendment 04-06-08
 !status Amendment 200Y 04-06-29
+!status ARG Approved 10-1-0  05-04-16
+!status work item 05-03-28
 !status WG9 approved 04-11-18
 !status ARG Approved 11-0-1  04-06-17
 !status work item 04-06-08
@@ -29,6 +31,14 @@
 
 !wording
 
+  Change 13.12(4) to:
+
+  restriction ::= restriction_identifier
+    | restriction_parameter_identifier => restriction_parameter_argument
+
+  restriction_parameter_argument ::= name | expression
+
+
   New section 13.12.1:
 
     13.12.1 Restriction No_Dependence
@@ -38,26 +48,25 @@
     The following restriction_parameter_identifier is language defined:
 
     No_Dependence
-            Specifies a language-defined library unit on which there
-            are no semantic dependences.
+            Specifies a library unit on which there are no semantic
+	    dependences.
 
 	Legality Rules
 
-    The expression of the restriction_parameter_argument of a No_Dependence
-    restriction shall have the form of a full expanded name of a library unit.
+    The restriction_parameter_argument of a No_Dependence restriction shall be
+    a name; the name shall have the form of a full expanded name of a library
+    unit, but need not denote a unit present in the environment.
 
-    AARM Note: This expression is not resolved; it is just a sequence of
-    identifiers. There is no requirement for any of the identifiers to be
-    defined in this unit or elsewhere.
+    AARM Ramification: This name is not resolved.
 
         Post-Compilation Rule
 
     No compilation unit included in the partition shall depend semantically
-    on the library unit identified by the expression.
+    on the library unit identified by the name.
 
     AARM Note: There is no requirement that the library unit actually exist.
     One possible use of the pragma is to prevent the use of
-    implementation-defined units; when the program is posted to a different
+    implementation-defined units; when the program is ported to a different
     compiler, it is perfectly reasonable that no unit with the name exist.
 
 !discussion
@@ -95,6 +104,17 @@
     pragma Restrictions(No_Dependence => Ada.Command_Line);
         -- Example of restriction on language-defined package
 
+!corrigendum 13.12(4)
+
+@drepl
+@xcode<@fa<restriction ::= >@ft<@i<restriction_>>identifier
+   | >@ft<@i<restriction_parameter_>>@fa<identifier => expression>>
+@dby
+@xcode<@fa<restriction ::= >@ft<@i<restriction_>>identifier
+   | >@ft<@i<restriction_parameter_>>@fa<identifier => restriction_parameter_argument>>
+
+@xcode<@fa<restriction_parameter_argument ::= name | expression>>
+
 !corrigendum 13.12.1(1)
 
 @dinsc
@@ -107,14 +127,14 @@
 
 @i<@s8<Legality Rules>>
 
-The @fa<expression> of the @fa<restriction_parameter_argument> of a
-No_Dependence restriction shall have the form of a full expanded
-name of a library unit.
+The @fa<restriction_parameter_argument> of a No_Dependence restriction shall be
+a @fa<name>; the @fa<name> shall have the form of a full expanded name of a
+library unit, but need not denote a unit present in the environment.
 
 @i<@s8<Post-Compilation Rules>>
 
 No compilation unit included in the partition shall depend semantically
-on the library unit identified by the @fa<expression>.
+on the library unit identified by the @fa<name>.
 
 !ACATS test
 

Questions? Ask the ACAA Technical Agent