summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-part.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/prj-part.adb')
-rw-r--r--gcc/ada/prj-part.adb20
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;