summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-pars.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-06 08:29:29 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-06 08:29:29 +0000
commit71abdb9c733dd9a223fedd32a814c0112a645f74 (patch)
tree92e562ce450f003b116a2eac024ad66f8c5d5ce8 /gcc/ada/prj-pars.adb
parent42058588302910a42276b5fbbfb196df0b8aa62a (diff)
downloadgcc-71abdb9c733dd9a223fedd32a814c0112a645f74.tar.gz
2009-05-06 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb (Access_Type_Declaration): An access type whose designated type is a limited view from a limited with clause (flagged From_With_Type) is not itself such a limited view. 2009-05-06 Emmanuel Briot <briot@adacore.com> * prj-nmsc.adb: Remove unused variable. * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads, prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to makeutl.ads, since not all users of prj.ads need this. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147152 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/prj-pars.adb')
-rw-r--r--gcc/ada/prj-pars.adb16
1 files changed, 10 insertions, 6 deletions
diff --git a/gcc/ada/prj-pars.adb b/gcc/ada/prj-pars.adb
index 86f47ec67d2..92010bf7cfa 100644
--- a/gcc/ada/prj-pars.adb
+++ b/gcc/ada/prj-pars.adb
@@ -45,17 +45,18 @@ package body Prj.Pars is
Project_File_Name : String;
Packages_To_Check : String_List_Access := All_Packages;
When_No_Sources : Error_Warning := Error;
+ Report_Error : Put_Line_Access := null;
Reset_Tree : Boolean := True;
- Is_Config_File : Boolean)
+ Is_Config_File : Boolean := False)
is
- Project_Node_Tree : constant Project_Node_Tree_Ref :=
- new Project_Node_Tree_Data;
Project_Node : Project_Node_Id := Empty_Node;
The_Project : Project_Id := No_Project;
Success : Boolean := True;
Current_Dir : constant String := Get_Current_Dir;
+ Project_Node_Tree : Prj.Tree.Project_Node_Tree_Ref;
begin
+ Project_Node_Tree := new Project_Node_Tree_Data;
Prj.Tree.Initialize (Project_Node_Tree);
-- Parse the main project file into a tree
@@ -72,18 +73,19 @@ package body Prj.Pars is
-- If there were no error, process the tree
- if Present (Project_Node) then
+ if Project_Node /= Empty_Node then
Prj.Proc.Process
(In_Tree => In_Tree,
Project => The_Project,
Success => Success,
From_Project_Node => Project_Node,
From_Project_Node_Tree => Project_Node_Tree,
- Report_Error => null,
- When_No_Sources => When_No_Sources,
+ Report_Error => Report_Error,
Reset_Tree => Reset_Tree,
+ When_No_Sources => When_No_Sources,
Current_Dir => Current_Dir,
Is_Config_File => Is_Config_File);
+
Prj.Err.Finalize;
if not Success then
@@ -93,6 +95,8 @@ package body Prj.Pars is
Project := The_Project;
+ -- ??? Should free the project_node_tree, no longer useful
+
exception
when X : others =>