diff options
Diffstat (limited to 'gcc/ada/prj-proc.adb')
| -rw-r--r-- | gcc/ada/prj-proc.adb | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/gcc/ada/prj-proc.adb b/gcc/ada/prj-proc.adb index 1258e244ee4..170da259f9e 100644 --- a/gcc/ada/prj-proc.adb +++ b/gcc/ada/prj-proc.adb @@ -101,16 +101,22 @@ package body Prj.Proc is -- recursively for all imported projects and a extended project, if any. -- Then process the declarative items of the project. - procedure Check (Project : in out Project_Id; Trusted_Mode : Boolean); + procedure Check + (Project : in out Project_Id; + Process_Languages : Languages_Processed; + Follow_Links : Boolean); -- Set all projects to not checked, then call Recursive_Check for the -- main project Project. Project is set to No_Project if errors occurred. - -- See Prj.Nmsc.Ada_Check for information on Trusted_Mode. + -- See Prj.Nmsc.Ada_Check for information on Follow_Links. - procedure Recursive_Check (Project : Project_Id; Trusted_Mode : Boolean); + procedure Recursive_Check + (Project : Project_Id; + Process_Languages : Languages_Processed; + Follow_Links : Boolean); -- If Project is not marked as checked, mark it as checked, call -- Check_Naming_Scheme for the project, then call itself for a -- possible extended project and all the imported projects of Project. - -- See Prj.Nmsc.Ada_Check for information on Trusted_Mode + -- See Prj.Nmsc.Ada_Check for information on Follow_Links --------- -- Add -- @@ -207,7 +213,10 @@ package body Prj.Proc is -- Check -- ----------- - procedure Check (Project : in out Project_Id; Trusted_Mode : Boolean) is + procedure Check + (Project : in out Project_Id; + Process_Languages : Languages_Processed; + Follow_Links : Boolean) is begin -- Make sure that all projects are marked as not checked @@ -215,7 +224,8 @@ package body Prj.Proc is Projects.Table (Index).Checked := False; end loop; - Recursive_Check (Project, Trusted_Mode); + Recursive_Check (Project, Process_Languages, Follow_Links); + end Check; ---------------- @@ -817,7 +827,8 @@ package body Prj.Proc is Success : out Boolean; From_Project_Node : Project_Node_Id; Report_Error : Put_Line_Access; - Trusted_Mode : Boolean := False) + Process_Languages : Languages_Processed := Ada_Language; + Follow_Links : Boolean := True) is Obj_Dir : Name_Id; Extending : Project_Id; @@ -841,7 +852,7 @@ package body Prj.Proc is Extended_By => No_Project); if Project /= No_Project then - Check (Project, Trusted_Mode); + Check (Project, Process_Languages, Follow_Links); end if; -- If main project is an extending all project, set the object @@ -1755,7 +1766,11 @@ package body Prj.Proc is -- Recursive_Check -- --------------------- - procedure Recursive_Check (Project : Project_Id; Trusted_Mode : Boolean) is + procedure Recursive_Check + (Project : Project_Id; + Process_Languages : Languages_Processed; + Follow_Links : Boolean) + is Data : Project_Data; Imported_Project_List : Project_List := Empty_Project_List; @@ -1776,7 +1791,7 @@ package body Prj.Proc is -- Call itself for a possible extended project. -- (if there is no extended project, then nothing happens). - Recursive_Check (Data.Extends, Trusted_Mode); + Recursive_Check (Data.Extends, Process_Languages, Follow_Links); -- Call itself for all imported projects @@ -1784,7 +1799,7 @@ package body Prj.Proc is while Imported_Project_List /= Empty_Project_List loop Recursive_Check (Project_Lists.Table (Imported_Project_List).Project, - Trusted_Mode); + Process_Languages, Follow_Links); Imported_Project_List := Project_Lists.Table (Imported_Project_List).Next; end loop; @@ -1795,7 +1810,13 @@ package body Prj.Proc is Write_Line (""""); end if; - Prj.Nmsc.Ada_Check (Project, Error_Report, Trusted_Mode); + case Process_Languages is + when Ada_Language => + Prj.Nmsc.Ada_Check (Project, Error_Report, Follow_Links); + + when Other_Languages => + Prj.Nmsc.Other_Languages_Check (Project, Error_Report); + end case; end if; end Recursive_Check; |

