This patch allows pragma Partition_Elaboration_Policy to be recognized
in system.ads in a manner analogous to the other Policy pragmas.

Given a version of System to which the line

pragma Partition_Elaboration_Policy (Sequential);

has been added, compilation of the following program
with switch -gnatj60 yields the result:

     1. pragma Partition_Elaboration_Policy (Concurrent);
        |
        >>> partition elaboration policy incompatible with
            policy in package System

     2. package pelab is end;

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

2013-07-08  Robert Dewar  <de...@adacore.com>

        * targparm.adb (Get_Target_Parameters): Recognize pragma
        Partition_Elaboration_Policy.

Index: targparm.adb
===================================================================
--- targparm.adb        (revision 200688)
+++ targparm.adb        (working copy)
@@ -388,6 +388,16 @@
             Opt.Init_Or_Norm_Scalars := True;
             goto Line_Loop_Continue;
 
+         --  Partition_Elaboration_Policy
+
+         elsif System_Text (P .. P + 36) =
+                 "pragma Partition_Elaboration_Policy ("
+         then
+            P := P + 37;
+            Opt.Partition_Elaboration_Policy := System_Text (P);
+            Opt.Partition_Elaboration_Policy_Sloc := System_Location;
+            goto Line_Loop_Continue;
+
          --  Polling (On)
 
          elsif System_Text (P .. P + 19) = "pragma Polling (On);" then

Reply via email to