diff options
author | Vincent Celier <celier@adacore.com> | 2007-08-16 14:19:13 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-08-16 14:19:13 +0200 |
commit | 1086c39b19eed27d9fc5b53ca7c5b75143d908bf (patch) | |
tree | 5b5d183382bf48671a3aea85557e32c8a38453ee | |
parent | c17fc6f62a85eec85e923c9a808b97d93b84b1ce (diff) | |
download | gcc-1086c39b19eed27d9fc5b53ca7c5b75143d908bf.zip gcc-1086c39b19eed27d9fc5b53ca7c5b75143d908bf.tar.gz gcc-1086c39b19eed27d9fc5b53ca7c5b75143d908bf.tar.bz2 |
make.adb (Collect_Arguments): Call Test_If_Relative_Path with Including_Non_Switch set to False.
2007-08-16 Vincent Celier <celier@adacore.com>
* make.adb (Collect_Arguments): Call Test_If_Relative_Path with
Including_Non_Switch set to False.
(Gnatmake): For the compiler, call Test_If_Relative_Path with
Including_Non_Switch set to False.
* makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
parameter Including_Non_Switch, defaulted to True. When
Including_Non_Switch is False, options that are not switches and
appear as relative path are not converted to absolute paths.
From-SVN: r127542
-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. |