CVS difference for ais/ai-00394.txt
--- ais/ai-00394.txt 2005/04/13 05:37:20 1.3
+++ ais/ai-00394.txt 2005/09/22 04:26:40 1.4
@@ -1,10 +1,12 @@
-!standard D.07(09) 05-03-01 AI95-00394/03
+!standard D.07(09) 05-09-20 AI95-00394/04
!standard D.07(10)
!standard D.07(15)
!standard D.13.1(01)
!standard H.4(2)
+!standard H.4(3)
!standard H.4(9)
!standard H.4(16)
+!standard H.4(23)
!standard J.13(1)
!class amendment 05-01-20
!status Amendment 200Y 05-02-25
@@ -48,10 +50,13 @@
restriction a new restrictions identifier is defined:
No_Specific_Termination_Handlers.
-Finally, to make it clear that if a Ravenscar task does terminate the fall-back
+To make it clear that if a Ravenscar task does terminate the fall-back
handler (if there is one) will be executed, the definition of
No_Task_Termination is modified.
+Finally, it was noted that the phrase "restriction xxx apply in this Annex"
+doesn't make much sense. The wording was revised to eliminate this phrase.
+
!proposal
(See wording.)
@@ -88,12 +93,29 @@
Semantic dependence on Unchecked_Deallocation is not allowed.
+Delete H.4(2).
+
+
+Change H.4(3) to read:
+
+The following restriction_identifiers are language defined:
-Add the following to the end of H.4(2):
-The following uses of restriction identifier No_Dependence apply in this
-Annex: No_Dependence => Ada.Unchecked_Deallocation and No_Dependence => Ada.Unchecked_Conversion.
+Add the following before H.4(24):
+An implementation of this Annex shall support:
+o the restrictions defined in this subclause; and
+o the following uses of restriction identifier No_Dependence defined in
+13.12.1: No_Dependence => Ada.Unchecked_Deallocation and
+ No_Dependence => Ada.Unchecked_Conversion; and
+o the following restrictions defined in D.7: No_Task_Hierarchy,
+No_Abort_Statement,
+ No_Implicit_Heap_Allocation; and
+o the following uses of restriction identifiers defined in D.7, which are
+checked prior to program execution: Max_Task_Entries => 0,
+Max_Asynchronous_Select_Nesting => 0,
+ and Max_Tasks => 0; and
+o the pragma Profile(Ravenscar).
Add the following new static restriction_identifier after D.7(10):
@@ -239,19 +261,18 @@
!corrigendum H.4(2)
-@drepl
+@ddel
The following restrictions, the same as in D.7, apply in this Annex:
No_Task_Hierarchy, No_Abort_Statement, No_Implicit_Heap_Allocation,
Max_Task_Entries is 0, Max_Asynchronous_Select_Nesting is 0, and Max_Tasks is
0. The last three restrictions are checked prior to program execution.
+
+!corrigendum H.4(3)
+
+@drepl
+The following additional restrictions apply in this Annex.
@dby
-The following restrictions, the same as in D.7, apply in this Annex:
-No_Task_Hierarchy, No_Abort_Statement, No_Implicit_Heap_Allocation,
-Max_Task_Entries is 0, Max_Asynchronous_Select_Nesting is 0, and Max_Tasks is
-0. The last three restrictions are checked prior to program execution.
-The following uses of restriction identifier No_Dependence apply in this
-Annex: No_Dependence =@> Ada.Unchecked_Deallocation and No_Dependence =@>
-Ada.Unchecked_Conversion.
+The following @i<restriction>_@fa<identifiers> are language defined:
!corrigendum H.4(9)
@@ -265,6 +286,26 @@
@xhang<@xterm<No_Unchecked_Conversion>
Semantic dependence on the predefined generic Unchecked_Conversion is not
allowed.>
+
+!corrigendum H.4(24)
+
+@dinsb
+If an implementation supports 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.
+@dinst
+An implementation of this Annex shall support:
+@xbullet<the restrictions defined in this subclause; and>
+@xbullet<the following uses of restriction identifier No_Dependence defined in
+13.12.1: No_Dependence => Ada.Unchecked_Deallocation and No_Dependence =>
+Ada.Unchecked_Conversion; and>
+@xbullet<the following restrictions defined in D.7: No_Task_Hierarchy,
+No_Abort_Statement, No_Implicit_Heap_Allocation; and>
+@xbullet<the following uses of restriction identifiers defined in D.7, which are
+checked prior to program execution: Max_Task_Entries => 0,
+Max_Asynchronous_Select_Nesting => 0, and Max_Tasks => 0; and>
+@xbullet<the @b<pragma> Profile(Ravenscar).>
!corrigendum J.13(1)
Questions? Ask the ACAA Technical Agent