gnat.adc 3.02 KB
Newer Older
1
--  Ada partition-wide configuration
2

3 4 5 6 7 8 9
--------------------------------------------------------------------------------
-- Enforce FIFO_Within priorities for all modes. Note we cannot use
-- directly the Ravenscar profile on native platforms because of the Ada
-- runtime on non-RT OS.

--pragma Task_Dispatching_Policy (FIFO_Within_Priotities); -- D.13.1
-- Note: GCC 4.3.5 does not support this policy, changed to binder
yoogx's avatar
yoogx committed
10
-- option "-T0" per section A.3 of the GNAT user manual
11 12 13

pragma Locking_Policy (Ceiling_Locking);                 -- D.13.1

yoogx's avatar
yoogx committed
14 15 16 17 18
--------------------------------------------------------------------------------
-- Activate SPARK Mode, even if we do not actually use it on the
-- target: the code has Spark_Mode disabled in some occurences,
-- without this pragma the code would be rejected.

19
--pragma Spark_Mode (On);
yoogx's avatar
yoogx committed
20

21 22 23 24
--------------------------------------------------------------------------------
--  The following define restrictions to be supported by the
--  PolyORB-HI, common restrictions
--
25 26 27
--  For each restriction, we list its definition place in the Ada 2005
--  reference manual.

28
--  pragma Restrictions (No_Allocators);                  -- H.4 (7)
29
--  pragma Restrictions (No_Floating_Point);              -- H.4 (14)
30
--  pragma Restrictions (No_Access_Subprograms);          -- H.4 (17)
31 32 33 34
--  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)
35 36 37 38

--  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
yoogx's avatar
yoogx committed
39
--  supported by GNAT for Native platforms)
40 41 42 43 44 45 46 47 48 49

--  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.

50
--  pragma Restrictions (No_Unchecked_Deallocation);      -- J.13 (4)
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
--  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