summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-part.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-31 18:04:45 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-31 18:04:45 +0000
commitda0c370c59f7498b82ec8d12fce092dbddf60e52 (patch)
tree2882a1af068599e0ac01f5d2c814eb3e82a32072 /gcc/ada/prj-part.adb
parent0eeabc1eee6fce2ff7cfd9eadcab88393d9f0933 (diff)
downloadgcc-da0c370c59f7498b82ec8d12fce092dbddf60e52.tar.gz
2006-10-31 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S on VMS, change "__" to '.' before checking the name. (Record_Ada_Source): Always add the source file name in the list of of sources, even if it is not the first time, as it is for another source index. (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single dot, instead of replacing only the first '_'. * prj-part.adb (Parse): Convert project file path to canonical form * prj-proc.adb (Recursive_Process): Make sure that, when a project is extended, the project id of the project extending it is recorded in its data, even when it has already been processed as an imported project. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118293 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/prj-part.adb')
-rw-r--r--gcc/ada/prj-part.adb16
1 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ada/prj-part.adb b/gcc/ada/prj-part.adb
index 8e9f963390a..938d394b42a 100644
--- a/gcc/ada/prj-part.adb
+++ b/gcc/ada/prj-part.adb
@@ -78,7 +78,7 @@ package body Prj.Part is
Table_Index_Type => With_Id,
Table_Low_Bound => 1,
Table_Initial => 10,
- Table_Increment => 50,
+ Table_Increment => 100,
Table_Name => "Prj.Part.Withs");
-- Table used to store temporarily paths and locations of imported
-- projects. These imported projects will be effectively parsed after the
@@ -95,7 +95,7 @@ package body Prj.Part is
Table_Index_Type => Nat,
Table_Low_Bound => 1,
Table_Initial => 10,
- Table_Increment => 50,
+ Table_Increment => 100,
Table_Name => "Prj.Part.Project_Stack");
-- This table is used to detect circular dependencies
-- for imported and extended projects and to get the project ids of
@@ -459,7 +459,15 @@ package body Prj.Part is
Current_Directory : constant String := Get_Current_Dir;
Dummy : Boolean;
+ Real_Project_File_Name : String_Access :=
+ Osint.To_Canonical_File_Spec
+ (Project_File_Name);
+
begin
+ if Real_Project_File_Name = null then
+ Real_Project_File_Name := new String'(Project_File_Name);
+ end if;
+
Project := Empty_Node;
if Current_Verbosity >= Medium then
@@ -470,10 +478,12 @@ package body Prj.Part is
declare
Path_Name : constant String :=
- Project_Path_Name_Of (Project_File_Name,
+ Project_Path_Name_Of (Real_Project_File_Name.all,
Directory => Current_Directory);
begin
+ Free (Real_Project_File_Name);
+
Prj.Err.Initialize;
Prj.Err.Scanner.Set_Comment_As_Token (Store_Comments);
Prj.Err.Scanner.Set_End_Of_Line_As_Token (Store_Comments);