Patchwork [Ada] Implementation-defined restrictions

login
register
mail settings
Submitter Arnaud Charlet
Date Dec. 5, 2012, 10:30 a.m.
Message ID <20121205103006.GA4410@adacore.com>
Download mbox | patch
Permalink /patch/203820/
State New
Headers show

Comments

Arnaud Charlet - Dec. 5, 2012, 10:30 a.m.
This patch remove discrepancies between the documentation on implementation-defined
restrictions, and the internal data structure used for warnings and errors
on implementation-defined restriction violations.

Tested on x86_64-pc-linux-gnu, committed on trunk

2012-12-05  Ed Schonberg  <schonberg@adacore.com>

	* s-rident.ads, restrict.ads: Remove discrepancies between the
	documentation on implementation-defined restrictions, and
	the internal data structure used for warnings and errors on
	implementation-defined restriction violations.

Patch

Index: restrict.ads
===================================================================
--- restrict.ads	(revision 194188)
+++ restrict.ads	(working copy)
@@ -107,8 +107,9 @@ 
 
    Implementation_Restriction : array (All_Restrictions) of Boolean :=
      (Simple_Barriers                    => True,
-      No_Asynchronous_Control            => True,
       No_Calendar                        => True,
+      No_Default_Initialization          => True,
+      No_Direct_Boolean_Operators        => True,
       No_Dispatching_Calls               => True,
       No_Dynamic_Attachment              => True,
       No_Elaboration_Code                => True,
@@ -116,12 +117,16 @@ 
       No_Entry_Calls_In_Elaboration_Code => True,
       No_Entry_Queue                     => True,
       No_Exception_Handlers              => True,
+      No_Exception_Propagation           => True,
       No_Exception_Registration          => True,
+      No_Finalization                    => True,
       No_Implementation_Attributes       => True,
       No_Implementation_Pragmas          => True,
       No_Implicit_Conditionals           => True,
+      No_Implicit_Aliasing               => True,
       No_Implicit_Dynamic_Code           => True,
       No_Implicit_Loops                  => True,
+      No_Initialize_Scalars              => True,
       No_Local_Protected_Objects         => True,
       No_Protected_Type_Allocators       => True,
       No_Relative_Delay                  => True,
@@ -129,14 +134,15 @@ 
       No_Secondary_Stack                 => True,
       No_Select_Statements               => True,
       No_Standard_Storage_Pools          => True,
+      No_Stream_Optimizations            => True,
       No_Streams                         => True,
       No_Task_Attributes_Package         => True,
       No_Task_Termination                => True,
-      No_Unchecked_Conversion            => True,
-      No_Unchecked_Deallocation          => True,
+      No_Tasking                         => True,
       No_Wide_Characters                 => True,
       Static_Priorities                  => True,
       Static_Storage_Size                => True,
+      SPARK                              => True,
       others                             => False);
 
    --  The following table records entries made by Restrictions pragmas
Index: s-rident.ads
===================================================================
--- s-rident.ads	(revision 194188)
+++ s-rident.ads	(working copy)
@@ -94,7 +94,7 @@ 
       No_Allocators,                           -- (RM H.4(7))
       No_Allocators_After_Elaboration,         -- Ada 2012 (RM D.7(19.1/2))
       No_Anonymous_Allocators,                 -- Ada 2012 (RM H.4(8/1))
-      No_Asynchronous_Control,                 -- (RM D.7(10))
+      No_Asynchronous_Control,                 -- (RM J.13(3/2)
       No_Calendar,                             -- GNAT
       No_Default_Stream_Attributes,            -- Ada 2012 (RM 13.12.1(4/2))
       No_Delay,                                -- (RM H.4(21))
@@ -142,8 +142,8 @@ 
       No_Tasking,                              -- GNAT
       No_Terminate_Alternatives,               -- (RM D.7(6))
       No_Unchecked_Access,                     -- (RM H.4(18))
-      No_Unchecked_Conversion,                 -- (RM H.4(16))
-      No_Unchecked_Deallocation,               -- (RM H.4(9))
+      No_Unchecked_Conversion,                 -- (RM J.13(4/2))
+      No_Unchecked_Deallocation,               -- (RM J.13(5/2))
       Static_Priorities,                       -- GNAT
       Static_Storage_Size,                     -- GNAT