aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gnatcmd.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-04-29 15:39:13 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2009-04-29 15:39:13 +0200
commit9e895ab50a0882df6e42fdb2995fec55258a26d6 (patch)
tree6c58124deb450d5ef7fd5681c179c70fee9f5f88 /gcc/ada/gnatcmd.adb
parent236fecbf44a87814987887e5d3f03c4b8bf0c294 (diff)
downloadgcc-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.adb58
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;
-------------------