diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-04-29 15:39:13 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-04-29 15:39:13 +0200 |
commit | 9e895ab50a0882df6e42fdb2995fec55258a26d6 (patch) | |
tree | 6c58124deb450d5ef7fd5681c179c70fee9f5f88 /gcc/ada/gnatcmd.adb | |
parent | 236fecbf44a87814987887e5d3f03c4b8bf0c294 (diff) | |
download | gcc-9e895ab50a0882df6e42fdb2995fec55258a26d6.zip gcc-9e895ab50a0882df6e42fdb2995fec55258a26d6.tar.gz gcc-9e895ab50a0882df6e42fdb2995fec55258a26d6.tar.bz2 |
[multiple changes]
2009-04-29 Vincent Celier <celier@adacore.com>
* sinput-l.adb (Load_File): When preprocessing, set temporarily the
Source_File_Index_Table entries for the source, to avoid crash when
reporting an error.
* gnatcmd.adb (Test_If_Relative_Path): Use
Makeutl.Test_If_Relative_Path.
* makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
Including_RTS is True.
* makeutl.ads (Test_If_Relative_Path): New Boolean parameter
Including_RTS defaulted to False.
* sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
a default value.
2009-04-29 Javier Miranda <miranda@adacore.com>
* gnat_ugn.texi: Adding documentation for non-default C++ constructors.
From-SVN: r146967
Diffstat (limited to 'gcc/ada/gnatcmd.adb')
-rw-r--r-- | gcc/ada/gnatcmd.adb | 58 |
1 files changed, 3 insertions, 55 deletions
diff --git a/gcc/ada/gnatcmd.adb b/gcc/ada/gnatcmd.adb index 81e9bc4..8310cd2 100644 --- a/gcc/ada/gnatcmd.adb +++ b/gcc/ada/gnatcmd.adb @@ -26,6 +26,7 @@ with GNAT.Directory_Operations; use GNAT.Directory_Operations; with Csets; +with Makeutl; with MLib.Tgt; use MLib.Tgt; with MLib.Utl; with MLib.Fil; @@ -1265,61 +1266,8 @@ procedure GNATCmd is Parent : String) is begin - if Switch /= null then - - declare - Sw : String (1 .. Switch'Length); - Start : Positive := 1; - - begin - Sw := Switch.all; - - if Sw (1) = '-' then - if Sw'Length >= 3 - and then (Sw (2) = 'A' or else - Sw (2) = 'I' or else - Sw (2) = 'L') - then - Start := 3; - - if Sw = "-I-" then - return; - end if; - - elsif Sw'Length >= 4 - and then (Sw (2 .. 3) = "aL" or else - Sw (2 .. 3) = "aO" or else - Sw (2 .. 3) = "aI") - then - Start := 4; - - elsif Sw'Length >= 7 - and then Sw (2 .. 6) = "-RTS=" - then - Start := 7; - else - return; - end if; - end if; - - -- If the path is relative, test if it includes directory - -- information. If it does, prepend Parent to the path. - - if not Is_Absolute_Path (Sw (Start .. Sw'Last)) then - for J in Start .. Sw'Last loop - if Sw (J) = Directory_Separator then - Switch := - new String' - (Sw (1 .. Start - 1) & - Parent & - Directory_Separator & - Sw (Start .. Sw'Last)); - return; - end if; - end loop; - end if; - end; - end if; + Makeutl.Test_If_Relative_Path + (Switch, Parent, Including_Non_Switch => False, Including_RTS => True); end Test_If_Relative_Path; ------------------- |