gnat.adc 2.06 KB
Newer Older
1 2 3 4 5 6
--  Ada restrictions to be supported by the PolyORB HI, common restrictions

--  For each restriction, we list its definition place in the Ada 2005
--  reference manual.

pragma Restrictions (No_Allocators);                  -- H.4 (7)
7
--  pragma Restrictions (No_Floating_Point);              -- H.4 (14)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
--  pragma Restrictions (No_Access_Subprograms);          -- H.4 (17)
pragma Restrictions (No_Unchecked_Access);            -- H.4 (18)
pragma Restrictions (No_Dispatch);                    -- H.4 (19)
pragma Restrictions (No_IO);                          -- H.4 (20)
pragma Restrictions (No_Recursion);                   -- H.4 (22)

--  pragma Partition_Elaboration_Policy (Sequential); -- H.6 (3)
--  This policy eases task initial synchronization and the bootstrap
--  of the VM, see Ada 2005 Rationale for more details). (Not yet
--  supported by GNAT)

--  pragma Restriction_Warnings (No_Implementation_Attributes);   -- 13.12 (2)
--  Style-check to enforce compliance with pure Ada, but also to avoid
--  the 'Unrestricted_Access attribute, which is GNAT specific.

--  pragma Restrictions (No_Obsolescent_Features);        -- 13.12 (4)
-- Deactivated as of 20090702: GPL 2009 deprecated
-- GNAT.Sockets.Initialize, but it might still be required for older
-- compilers supported.

pragma Restrictions (No_Unchecked_Deallocation);      -- J.13 (4)
--  Sibling of the No_Allocators restriction.
--  XXX to be replaced with a No_Dependence restriction

--  GNAT Specific restrictions

--  pragma Restrictions (No_Streams);                     -- GNAT specific

--  pragma Restrictions (No_Direct_Boolean_Operators);    -- GNAT specific
--  For the use of "and then" and "or else" in boolean operations

--  pragma Restrictions (No_Enumeration_Maps);            -- GNAT specific
-- Forbids <type>'Image for enumeration types. Cannot be supported
-- because some examples use it

--  pragma Restrictions (No_Implicit_Conditionals);     -- GNAT specific
--  pragma Restrictions (No_Implicit_Loops);            -- GNAT specific
--  pragma Restrictions (No_Enumeration_Maps);          -- GNAT specific