gnat.adc 3 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.

yoogx's avatar
yoogx committed
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 28
--  For each restriction, we list its definition place in the Ada 2005
--  reference manual.

pragma Restrictions (No_Allocators);                  -- H.4 (7)
29
--  pragma Restrictions (No_Floating_Point);              -- H.4 (14)
30 31 32 33 34 35 36 37 38
--  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
yoogx's avatar
yoogx committed
39
--  supported by GNAT for Native platforms)
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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