diff options
Diffstat (limited to 'patch-gnat_targparm')
-rw-r--r-- | patch-gnat_targparm | 302 |
1 files changed, 0 insertions, 302 deletions
diff --git a/patch-gnat_targparm b/patch-gnat_targparm deleted file mode 100644 index b52527689a96..000000000000 --- a/patch-gnat_targparm +++ /dev/null @@ -1,302 +0,0 @@ -These restriction pragmas are not yet supported on FSF GNAT 5: - No_Specification_Of_Aspect - No_Use_Of_Attribute - No_Use_Of_Pragma - ---- gnat/targparm.ads.orig 2015-05-06 11:08:38 UTC -+++ gnat/targparm.ads -@@ -615,53 +615,28 @@ package Targparm is - -- selected component with Sloc value System_Location and given Prefix - -- (Pre) and Selector (Sel) values. - -- type Set_NOD_Type is access procedure (Unit : Node_Id); -+ type Set_RND_Type is access procedure (Unit : Node_Id); - -- Parameter type for Get_Target_Parameters that records a Restriction - -- No_Dependence for the given unit (identifier or selected component). - -- type Set_NSA_Type is access procedure (Asp : Name_Id; OK : out Boolean); -- -- Parameter type for Get_Target_Parameters that records a Restriction -- -- No_Specification_Of_Aspect. Asp is the aspect name. OK is set True -- -- if this is an OK aspect name, and False if it is not an aspect name. -- -- type Set_NUA_Type is access procedure (Attr : Name_Id; OK : out Boolean); -- -- Parameter type for Get_Target_Parameters that records a Restriction -- -- No_Use_Of_Attribute. Attr is the attribute name. OK is set True if -- -- this is an OK attribute name, and False if it is not an attribute name. -- -- type Set_NUP_Type is access procedure (Prag : Name_Id; OK : out Boolean); -- -- Parameter type for Get_Target_Parameters that records a Restriction -- -- No_Use_Of_Pragma. Prag is the pragma name. OK is set True if this is -- -- an OK pragma name, and False if it is not a recognized pragma name. -- - procedure Get_Target_Parameters - (System_Text : Source_Buffer_Ptr; - Source_First : Source_Ptr; - Source_Last : Source_Ptr; - Make_Id : Make_Id_Type := null; - Make_SC : Make_SC_Type := null; -- Set_NOD : Set_NOD_Type := null; -- Set_NSA : Set_NSA_Type := null; -- Set_NUA : Set_NUA_Type := null; -- Set_NUP : Set_NUP_Type := null); -- -- Called at the start of execution to obtain target parameters from the -- -- source of package System. The parameters provide the source text to be -- -- scanned (in System_Text (Source_First .. Source_Last)). If the three -- -- subprograms Make_Id, Make_SC, and Set_NOD are left at their default -- -- value of null, Get_Target_Parameters will ignore pragma Restrictions -- -- (No_Dependence) lines; otherwise it will use these three subprograms to -- -- record them. Similarly, if Set_NUP is left at its default value of null, -- -- then any occurrences of pragma Restrictions (No_Use_Of_Pragma => XXX) -- -- will be ignored; otherwise it will use this procedure to record the -- -- pragma. Similarly for the NSA and NUA cases. -+ Set_RND : Set_RND_Type := null); -+ -- Called at the start of execution to obtain target parameters from -+ -- the source of package System. The parameters provide the source -+ -- text to be scanned (in System_Text (Source_First .. Source_Last)). -+ -- if the three subprograms are left at their default value of null, -+ -- Get_Target_Parameters will ignore pragma Restrictions No_Dependence -+ -- lines, otherwise it will use these three subprograms to record them. - - procedure Get_Target_Parameters - (Make_Id : Make_Id_Type := null; - Make_SC : Make_SC_Type := null; -- Set_NOD : Set_NOD_Type := null; -- Set_NSA : Set_NSA_Type := null; -- Set_NUA : Set_NUA_Type := null; -- Set_NUP : Set_NUP_Type := null); -+ Set_RND : Set_RND_Type := null); - -- This version reads in system.ads using Osint. The idea is that the - -- caller uses the first version if they have to read system.ads anyway - -- (e.g. the compiler) and uses this simpler interface if system.ads is ---- gnat/targparm.adb.orig 2015-05-06 11:08:38 UTC -+++ gnat/targparm.adb -@@ -154,10 +154,7 @@ package body Targparm is - procedure Get_Target_Parameters - (Make_Id : Make_Id_Type := null; - Make_SC : Make_SC_Type := null; -- Set_NOD : Set_NOD_Type := null; -- Set_NSA : Set_NSA_Type := null; -- Set_NUA : Set_NUA_Type := null; -- Set_NUP : Set_NUP_Type := null) -+ Set_RND : Set_RND_Type := null) - is - Text : Source_Buffer_Ptr; - Hi : Source_Ptr; -@@ -184,10 +181,7 @@ package body Targparm is - Source_Last => Hi, - Make_Id => Make_Id, - Make_SC => Make_SC, -- Set_NOD => Set_NOD, -- Set_NSA => Set_NSA, -- Set_NUA => Set_NUA, -- Set_NUP => Set_NUP); -+ Set_RND => Set_RND); - end Get_Target_Parameters; - - -- Version where caller supplies system.ads text -@@ -198,10 +192,7 @@ package body Targparm is - Source_Last : Source_Ptr; - Make_Id : Make_Id_Type := null; - Make_SC : Make_SC_Type := null; -- Set_NOD : Set_NOD_Type := null; -- Set_NSA : Set_NSA_Type := null; -- Set_NUA : Set_NUA_Type := null; -- Set_NUP : Set_NUP_Type := null) -+ Set_RND : Set_RND_Type := null) - is - P : Source_Ptr; - -- Scans source buffer containing source of system.ads -@@ -212,48 +203,6 @@ package body Targparm is - Result : Boolean; - -- Records boolean from system line - -- OK : Boolean; -- -- Status result from Set_NUP/NSA/NUA call -- -- PR_Start : Source_Ptr; -- -- Pointer to ( following pragma Restrictions -- -- procedure Collect_Name; -- -- Scan a name starting at System_Text (P), and put Name in Name_Buffer, -- -- with Name_Len being length, folded to lower case. On return, P points -- -- just past the last character (which should be a right paren). -- -- ------------------ -- -- Collect_Name -- -- ------------------ -- -- procedure Collect_Name is -- begin -- Name_Len := 0; -- loop -- if System_Text (P) in 'a' .. 'z' -- or else -- System_Text (P) = '_' -- or else -- System_Text (P) in '0' .. '9' -- then -- Name_Buffer (Name_Len + 1) := System_Text (P); -- -- elsif System_Text (P) in 'A' .. 'Z' then -- Name_Buffer (Name_Len + 1) := -- Character'Val (Character'Pos (System_Text (P)) + 32); -- -- else -- exit; -- end if; -- -- P := P + 1; -- Name_Len := Name_Len + 1; -- end loop; -- end Collect_Name; -- -- -- Start of processing for Get_Target_Parameters -- - begin - if Parameters_Obtained then - return; -@@ -312,9 +261,6 @@ package body Targparm is - - elsif System_Text (P .. P + 20) = "pragma Restrictions (" then - P := P + 21; -- PR_Start := P - 1; -- -- -- Boolean restrictions - - Rloop : for K in All_Boolean_Restrictions loop - declare -@@ -339,9 +285,7 @@ package body Targparm is - null; - end loop Rloop; - -- -- Restrictions taking integer parameter -- -- Ploop : for K in Integer_Parameter_Restrictions loop -+ Ploop : for K in All_Parameter_Restrictions loop - declare - Rname : constant String := - All_Parameter_Restrictions'Image (K); -@@ -456,119 +400,23 @@ package body Targparm is - P := P + 1; - end loop; - -- Set_NOD (Unit); -+ Set_RND (Unit); - goto Line_Loop_Continue; - end; -- -- -- No_Specification_Of_Aspect case -- -- elsif System_Text (P .. P + 29) = "No_Specification_Of_Aspect => " -- then -- P := P + 30; -- -- -- Skip this processing (and simply ignore the pragma), if -- -- caller did not supply the subprogram we need to process -- -- such lines. -- -- if Set_NSA = null then -- goto Line_Loop_Continue; -- end if; -- -- -- We have scanned -- -- "pragma Restrictions (No_Specification_Of_Aspect =>" -- -- Collect_Name; -- -- if System_Text (P) /= ')' then -- goto Bad_Restrictions_Pragma; -- -- else -- Set_NSA (Name_Find, OK); -- -- if OK then -- goto Line_Loop_Continue; -- else -- goto Bad_Restrictions_Pragma; -- end if; -- end if; -- -- -- No_Use_Of_Attribute case -- -- elsif System_Text (P .. P + 22) = "No_Use_Of_Attribute => " then -- P := P + 23; -- -- -- Skip this processing (and simply ignore No_Use_Of_Attribute -- -- lines) if caller did not supply the subprogram we need to -- -- process such lines. -- -- if Set_NUA = null then -- goto Line_Loop_Continue; -- end if; -- -- -- We have scanned -- -- "pragma Restrictions (No_Use_Of_Attribute =>" -- -- Collect_Name; -- -- if System_Text (P) /= ')' then -- goto Bad_Restrictions_Pragma; -- -- else -- Set_NUA (Name_Find, OK); -- -- if OK then -- goto Line_Loop_Continue; -- else -- goto Bad_Restrictions_Pragma; -- end if; -- end if; -- -- -- No_Use_Of_Pragma case -- -- elsif System_Text (P .. P + 19) = "No_Use_Of_Pragma => " then -- P := P + 20; -- -- -- Skip this processing (and simply ignore No_Use_Of_Pragma -- -- lines) if caller did not supply the subprogram we need to -- -- process such lines. -- -- if Set_NUP = null then -- goto Line_Loop_Continue; -- end if; -- -- -- We have scanned -- -- "pragma Restrictions (No_Use_Of_Pragma =>" -- -- Collect_Name; -- -- if System_Text (P) /= ')' then -- goto Bad_Restrictions_Pragma; -- -- else -- Set_NUP (Name_Find, OK); -- -- if OK then -- goto Line_Loop_Continue; -- else -- goto Bad_Restrictions_Pragma; -- end if; -- end if; - end if; - - -- Here if unrecognizable restrictions pragma form - -- <<Bad_Restrictions_Pragma>> -- - Set_Standard_Error; - Write_Line - ("fatal error: system.ads is incorrectly formatted"); - Write_Str ("unrecognized or incorrect restrictions pragma: "); - -- P := PR_Start; -+ while System_Text (P) /= ')' -+ and then -+ System_Text (P) /= ASCII.LF - loop -- exit when System_Text (P) = ASCII.LF; - Write_Char (System_Text (P)); -- exit when System_Text (P) = ')'; - P := P + 1; - end loop; - |