summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-pars.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-14 08:39:33 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-14 08:39:33 +0000
commitdbc3c2290abf6baf4182deb8549e0ae27f924a3d (patch)
tree42154a73ebb6b14dd56ca33611abdbb14e1ac2ef /gcc/ada/prj-pars.adb
parent0cd40f501f295050d3d846506c5eb7f5e439b89a (diff)
downloadgcc-dbc3c2290abf6baf4182deb8549e0ae27f924a3d.tar.gz
2007-08-14 Vincent Celier <celier@adacore.com>
* prj.ads, prj.adb: Update Project Manager to new attribute names for gprbuild. Allow all valid declarations in configuration project files (Reset): Initialize all tables and hash tables in the project tree data Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. (Slash_Id): Change type to be Path_Name_Type (Slash): Return a Path_Name_Type instead of a File_Name_Type * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by gprbuild. Update Project Manager to new attribute names for ghprbuild Allow all valid declarations in configuration project files Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. * prj-com.ads: Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case insensitive flag for attributes with optional index. (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative array attribute, put the index in lower case. Update Project Manager to new attribute names for ghprbuild Allow all valid declarations in configuration project files Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. * prj-env.ads, prj-env.adb: Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. (Get_Reference): Change type of parameter Path to Path_Name_Type * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after removing '-' from the path to start with the first character of the next directory. Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. * prj-nmsc.ads, prj-nmsc.adb: Update Project Manager to new attribute names for ghprbuild Allow all valid declarations in configuration project files (Search_Directories): Detect subunits that are specified with an attribute Body in package Naming. Do not replace a source/unit in the same project when the order of the source dirs are known. Detect duplicate sources/units in the same project when the order of the source dirs are not known. (Check_Ada_Name): Allow all identifiers that are not reserved words in Ada 95. Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. (Look_For_Sources): If the list of sources is empty, set the object directory of non extending project to nil. Change type of path name variables to be Path_Name_Type (Locate_Directory): Make sure that on Windows '/' is converted to '\', otherwise creating missing directories will fail. * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb, prj-part.ads, prj-part.adb: Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case insensitive flag for attributes with optional index. (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative array attribute, put the index in lower case. (Parse_Variable_Reference): Allow the current project name to be used in the prefix of an attribute reference. * prj-util.ads, prj-util.adb (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index, defaulted to False. When True, always check against indexes in lower case. * snames.ads, snames.h, snames.adb: Update Project Manager to new attribute names for gprbuild Allow all valid declarations in configuration project files git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127420 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/prj-pars.adb')
-rw-r--r--gcc/ada/prj-pars.adb10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ada/prj-pars.adb b/gcc/ada/prj-pars.adb
index 0b8e34e9d82..e09ffc83b89 100644
--- a/gcc/ada/prj-pars.adb
+++ b/gcc/ada/prj-pars.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2007, 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- --
@@ -32,6 +32,7 @@ with Prj.Err; use Prj.Err;
with Prj.Part;
with Prj.Proc;
with Prj.Tree; use Prj.Tree;
+with Sinput.P;
package body Prj.Pars is
@@ -44,7 +45,8 @@ package body Prj.Pars is
Project : out Project_Id;
Project_File_Name : String;
Packages_To_Check : String_List_Access := All_Packages;
- When_No_Sources : Error_Warning := Error)
+ When_No_Sources : Error_Warning := Error;
+ Reset_Tree : Boolean := True)
is
Project_Node_Tree : constant Project_Node_Tree_Ref :=
new Project_Node_Tree_Data;
@@ -57,6 +59,7 @@ package body Prj.Pars is
-- Parse the main project file into a tree
+ Sinput.P.Reset_First;
Prj.Part.Parse
(In_Tree => Project_Node_Tree,
Project => Project_Node,
@@ -75,7 +78,8 @@ package body Prj.Pars is
From_Project_Node_Tree => Project_Node_Tree,
Report_Error => null,
Follow_Links => Opt.Follow_Links,
- When_No_Sources => When_No_Sources);
+ When_No_Sources => When_No_Sources,
+ Reset_Tree => Reset_Tree);
Prj.Err.Finalize;
if not Success then