diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-31 18:04:45 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-31 18:04:45 +0000 |
commit | da0c370c59f7498b82ec8d12fce092dbddf60e52 (patch) | |
tree | 2882a1af068599e0ac01f5d2c814eb3e82a32072 /gcc/ada/prj-part.adb | |
parent | 0eeabc1eee6fce2ff7cfd9eadcab88393d9f0933 (diff) | |
download | gcc-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.adb | 16 |
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); |