diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-06 08:29:29 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-06 08:29:29 +0000 |
commit | 71abdb9c733dd9a223fedd32a814c0112a645f74 (patch) | |
tree | 92e562ce450f003b116a2eac024ad66f8c5d5ce8 /gcc/ada/prj-proc.ads | |
parent | 42058588302910a42276b5fbbfb196df0b8aa62a (diff) | |
download | gcc-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.ads | 59 |
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; |