diff options
Diffstat (limited to 'gcc/ada/prj-part.adb')
-rw-r--r-- | gcc/ada/prj-part.adb | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/gcc/ada/prj-part.adb b/gcc/ada/prj-part.adb index 61826c90507..b381bacab09 100644 --- a/gcc/ada/prj-part.adb +++ b/gcc/ada/prj-part.adb @@ -863,14 +863,17 @@ package body Prj.Part is Extends_All := False; declare - Normed : String := Normalize_Pathname (Path_Name); + Normed_Path : constant String := Normalize_Pathname + (Path_Name, Resolve_Links => False, Case_Sensitive => True); + Canonical_Path : constant String := Normalize_Pathname + (Normed_Path, Resolve_Links => True, Case_Sensitive => False); + begin - Name_Len := Normed'Length; - Name_Buffer (1 .. Name_Len) := Normed; + Name_Len := Normed_Path'Length; + Name_Buffer (1 .. Name_Len) := Normed_Path; Normed_Path_Name := Name_Find; - Canonical_Case_File_Name (Normed); - Name_Len := Normed'Length; - Name_Buffer (1 .. Name_Len) := Normed; + Name_Len := Canonical_Path'Length; + Name_Buffer (1 .. Name_Len) := Canonical_Path; Canonical_Path_Name := Name_Find; end; @@ -1670,7 +1673,10 @@ package body Prj.Part is else declare Final_Result : constant String := - GNAT.OS_Lib.Normalize_Pathname (Result.all); + GNAT.OS_Lib.Normalize_Pathname + (Result.all, + Resolve_Links => False, + Case_Sensitive => True); begin Free (Result); return Final_Result; |