summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-proc.ads
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-proc.ads
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-proc.ads')
-rw-r--r--gcc/ada/prj-proc.ads59
1 files changed, 33 insertions, 26 deletions
diff --git a/gcc/ada/prj-proc.ads b/gcc/ada/prj-proc.ads
index f95f210a50e..e15c8efd283 100644
--- a/gcc/ada/prj-proc.ads
+++ b/gcc/ada/prj-proc.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2001-2007, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2009, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -31,57 +31,64 @@ with Prj.Tree; use Prj.Tree;
package Prj.Proc is
- procedure Process
+ procedure Process_Project_Tree_Phase_1
(In_Tree : Project_Tree_Ref;
Project : out Project_Id;
Success : out Boolean;
From_Project_Node : Project_Node_Id;
From_Project_Node_Tree : Project_Node_Tree_Ref;
Report_Error : Put_Line_Access;
- When_No_Sources : Error_Warning := Error;
- Reset_Tree : Boolean := True;
- Current_Dir : String := "";
- Is_Config_File : Boolean);
- -- Process a project file tree into project file data structures. If
- -- Report_Error is null, use the error reporting mechanism. Otherwise,
- -- report errors using Report_Error.
+ Reset_Tree : Boolean := True);
+ -- Process a project tree (ie the direct resulting of parsing a .gpr file)
+ -- based on the current scenario variables.
--
- -- Current_Dir is for optimization purposes, avoiding extra system calls.
+ -- The result of this phase_1 is a partial project tree (Project) where
+ -- only a few fields have been initialized (in particular the list of
+ -- languages). These are the fields that are necessary to run gprconfig if
+ -- needed to automatically generate a configuration file. This first phase
+ -- of the processing does not require a configuration file.
+ --
+ -- If Report_Error is null, use the error reporting mechanism. Otherwise,
+ -- report errors using Report_Error.
--
-- When_No_Sources indicates what should be done when no sources are found
-- in a project for a specified or implied language.
--
-- When Reset_Tree is True, all the project data are removed from the
-- project table before processing.
- --
- -- Process is a bit of a junk name, how about Process_Project_Tree???
- --
- -- The two procedures that follow are implementing procedure Process in
- -- two successive phases. They are used by gprbuild/gprclean to add the
- -- configuration attributes between the two phases.
- --
- -- Is_Config_File should be true if Project is a config file (.cgpr)
- procedure Process_Project_Tree_Phase_1
+ procedure Process_Project_Tree_Phase_2
(In_Tree : Project_Tree_Ref;
- Project : out Project_Id;
+ Project : Project_Id;
Success : out Boolean;
From_Project_Node : Project_Node_Id;
From_Project_Node_Tree : Project_Node_Tree_Ref;
Report_Error : Put_Line_Access;
- Reset_Tree : Boolean := True);
- -- See documentation of parameters in procedure Process above
+ When_No_Sources : Error_Warning := Error;
+ Current_Dir : String;
+ Is_Config_File : Boolean);
+ -- Perform the second phase of the processing, filling the rest of the
+ -- project with the information extracted from the project tree. This phase
+ -- requires that the configuration file has already been parsed (in fact
+ -- we currently assume that the contents of the configuration file has
+ -- been included in Project through Confgpr.Apply_Config_File). The
+ -- parameters are the same as for phase_1, with the addition of:
+ --
+ -- Current_Dir is for optimization purposes, avoiding extra system calls.
+ --
+ -- Is_Config_File should be true if Project is a config file (.cgpr)
- procedure Process_Project_Tree_Phase_2
+ procedure Process
(In_Tree : Project_Tree_Ref;
- Project : Project_Id;
+ Project : out Project_Id;
Success : out Boolean;
From_Project_Node : Project_Node_Id;
From_Project_Node_Tree : Project_Node_Tree_Ref;
Report_Error : Put_Line_Access;
When_No_Sources : Error_Warning := Error;
- Current_Dir : String;
+ Reset_Tree : Boolean := True;
+ Current_Dir : String := "";
Is_Config_File : Boolean);
- -- See documentation of parameters in procedure Process above
+ -- Performs the two phases of the processing
end Prj.Proc;