diff options
-rw-r--r-- | gcc/ada/make.adb | 15 | ||||
-rw-r--r-- | gcc/ada/makeutl.adb | 9 | ||||
-rw-r--r-- | gcc/ada/makeutl.ads | 7 |
3 files changed, 20 insertions, 11 deletions
diff --git a/gcc/ada/make.adb b/gcc/ada/make.adb index aa8e5f7..ee45873 100644 --- a/gcc/ada/make.adb +++ b/gcc/ada/make.adb @@ -2372,7 +2372,8 @@ package body Make is new String'(Name_Buffer (1 .. Name_Len)); Test_If_Relative_Path (New_Args (Last_New), - Parent => Data.Dir_Path); + Parent => Data.Dir_Path, + Including_Non_Switch => False); end if; Current := Element.Next; @@ -2399,7 +2400,9 @@ package body Make is begin Test_If_Relative_Path - (New_Args (1), Parent => Data.Dir_Path); + (New_Args (1), + Parent => Data.Dir_Path, + Including_Non_Switch => False); Add_Arguments (Configuration_Pragmas_Switch (Arguments_Project) & New_Args & The_Saved_Gcc_Switches.all); @@ -5315,12 +5318,16 @@ package body Make is for J in 1 .. Gcc_Switches.Last loop Test_If_Relative_Path - (Gcc_Switches.Table (J), Parent => Dir_Path); + (Gcc_Switches.Table (J), + Parent => Dir_Path, + Including_Non_Switch => False); end loop; for J in 1 .. Saved_Gcc_Switches.Last loop Test_If_Relative_Path - (Saved_Gcc_Switches.Table (J), Parent => Current_Work_Dir); + (Saved_Gcc_Switches.Table (J), + Parent => Current_Work_Dir, + Including_Non_Switch => False); end loop; end; end if; diff --git a/gcc/ada/makeutl.adb b/gcc/ada/makeutl.adb index af1326c..b1aea09 100644 --- a/gcc/ada/makeutl.adb +++ b/gcc/ada/makeutl.adb @@ -551,9 +551,10 @@ package body Makeutl is --------------------------- procedure Test_If_Relative_Path - (Switch : in out String_Access; - Parent : String_Access; - Including_L_Switch : Boolean := True) + (Switch : in out String_Access; + Parent : String_Access; + Including_L_Switch : Boolean := True; + Including_Non_Switch : Boolean := True) is begin if Switch /= null then @@ -608,7 +609,7 @@ package body Makeutl is end if; end if; - else + elsif Including_Non_Switch then if not Is_Absolute_Path (Sw) then if Parent = null or else Parent'Length = 0 then Do_Fail diff --git a/gcc/ada/makeutl.ads b/gcc/ada/makeutl.ads index 29a3895..b901bc5 100644 --- a/gcc/ada/makeutl.ads +++ b/gcc/ada/makeutl.ads @@ -124,9 +124,10 @@ package Makeutl is end Mains; procedure Test_If_Relative_Path - (Switch : in out String_Access; - Parent : String_Access; - Including_L_Switch : Boolean := True); + (Switch : in out String_Access; + Parent : String_Access; + Including_L_Switch : Boolean := True; + Including_Non_Switch : Boolean := True); -- Test if Switch is a relative search path switch. -- If it is, fail if Parent is null, otherwise prepend the path with -- Parent. This subprogram is only called when using project files. |