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

Differences between 1.1 and version 1.2
Log of other versions for file ai05s/ai05-0272-1.txt

--- ai05s/ai05-0272-1.txt	2011/12/20 23:52:53	1.1
+++ ai05s/ai05-0272-1.txt	2012/01/05 06:19:33	1.2
@@ -1,6 +1,10 @@
-!standard  13.12.1(6/2)                              11-11-13    AI05-0272-1/01
+!standard  13.12.1(6/2)                              11-12-20    AI05-0272-1/02
 !standard  13.12.1(7/2)
+!standard  2.8(10)
+!standard  H.4(24)
 !class Amendment 11-11-13
+!status Amendment 2012 11-11-13
+!status ARG Approved 7-0-0  11-11-13
 !status work item 11-11-13
 !status received 11-09-11
 !priority Low
@@ -28,7 +32,10 @@
 
 !wording
 
+Modify 2.8(10):
 
+...is an identifier {or reserved word} that is used...
+
 Add after 13.12.1(6/2):
 
     No_Use_Of_Attribute
@@ -44,11 +51,11 @@
 Add after 13.12.1(7/2):
 
 The restriction_parameter_argument of a No_Use_Of_Attribute restriction
-shall be an identifier or one of the reserved words Access, Delta, Digits
-or Range.
+shall be an identifier or one of the reserved words Access, Delta, Digits,
+Mod, or Range.
 
 The restriction_parameter_argument of a No_Use_Of_Pragma restriction
-shall be an identifier.
+shall be an identifier or the reserved word Interface.
 
 AARM note:
 
@@ -59,7 +66,15 @@
      implementation, but nothing at all on another implementation. Of course,
      a good implementation will warn if the identifier is unknown to it.
 
+AARM To Be Honest:
+    pragma Restrictions (No_Use_of_Pragma => Restrictions); necessarily will be
+    rejected (either at compile-time or link-time) because it applies to itself.
+
+Modify H.4(24/3):
 
+"...No_Unchecked_Access, {No_Specification_of_Aspect, No_Use_of_Attribute,
+No_Use_of_Pragma,} and..."
+
 !discussion
 
 Note that No_Use_Of_Attribute and No_Use_Of_Pragma can be used for both 
@@ -70,6 +85,75 @@
     pragma Restrictions(No_Use_Of_Attribute => Unrestricted_Access);
 
     pragma Restrictions(No_Use_Of_Pragma => Import);
+
+!corrigendum 2.8(10)
+
+@drepl
+An @i<identifier specific to a pragma> is an identifier that is used in a pragma argument
+with special meaning for that pragma. 
+@dby
+An @i<identifier specific to a pragma> is an identifier or reserved word that is used in
+a pragma argument with special meaning for that pragma. 
+
+!corrigendum 13.12.1(6/2)
+
+@dinsa
+@xhang<@xterm<No_Dependence>
+Specifies a library unit on which there are no semantic dependences.>
+@dinst
+@xhang<@xterm<No_Specification_of_Aspect>
+Identifies an aspect for which no @fa<aspect_specification>,
+@fa<attribute_definition_clause>, or @fa<pragma> is given.>
+
+@xhang<@xterm<No_Use_Of_Attribute>
+Identifies an attribute for which no @fa<attribute_reference>
+or @fa<attribute_definition_clause> is given.>
+	      
+@xhang<@xterm<No_Use_Of_Pragma>
+Identifies a @fa<pragma> which is not to be used.>
+
+!corrigendum 13.12.1(7/2)
+
+@dinsa
+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.
+@dinst
+The @fa<restriction_parameter_argument> of a No_Specification_of_Aspect restriction
+shall be an @fa<identifier>; this is an identifier specific to a pragma (see 2.8) and
+does not denote any declaration.
+
+The @fa<restriction_parameter_argument> of a No_Use_Of_Attribute restriction
+shall be an @fa<identifier> or one of the reserved words Access, Delta, Digits,
+Mod, or Range; this is an identifier specific to a pragma.
+
+The @fa<restriction_parameter_argument> of a No_Use_Of_Pragma restriction
+shall be an @fa<identifier> or the reserved word Interface; this is an identifier
+specific to a pragma.
+
+!corrigendum H.4(24)
+
+@drepl
+If an implementation supports @fa<pragma> Restrictions for a particular argument, then except
+for the restrictions No_Unchecked_Deallocation, No_Unchecked_Conversion,
+No_Access_Subprograms, and No_Unchecked_Access, the associated restriction applies
+to the run-time system. 
+@dby
+If an implementation supports @fa<pragma> Restrictions for a particular argument, then except
+for the restrictions No_Unchecked_Deallocation, No_Unchecked_Conversion,
+No_Access_Subprograms, No_Unchecked_Access, No_Specification_of_Aspect, No_Use_of_Attribute,
+No_Use_of_Pragma, and the equivalent use of No_Dependence, the associated restriction
+applies to the run-time system. 
+
+
+!ACATS Test
+
+ACATS L-Tests should be created to check that these restrictions work, preferably in
+different units from the pragma.
+
+!ASIS
+
+No ASIS effect (Restrictions are not handled specially by ASIS).
 
 !appendix
 

Questions? Ask the ACAA Technical Agent