mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 01:50:34 +08:00
re PR ada/14665 (gnatmake invokes wrong cross tools)
2004-04-08 Joel Sherrill <joel@oarcorp.com> PR ada/14665 * ada/osint.adb (Find_Program_Name): Rework to properly handle filenames which end in .exe or have versioning suffixes like VMS. From-SVN: r80514
This commit is contained in:
parent
467f3af023
commit
4afae4b9c8
@ -1,3 +1,9 @@
|
||||
2004-04-08 Joel Sherrill <joel@oarcorp.com>
|
||||
|
||||
PR ada/14665
|
||||
* ada/osint.adb (Find_Program_Name): Rework to properly handle
|
||||
filenames which end in .exe or have versioning suffixes like VMS.
|
||||
|
||||
2004-04-08 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR target/10129
|
||||
|
@ -1008,12 +1008,37 @@ package body Osint is
|
||||
end if;
|
||||
end loop;
|
||||
|
||||
for J in reverse Cindex1 .. Cindex2 loop
|
||||
if Command_Name (J) = '.' then
|
||||
Cindex2 := J - 1;
|
||||
exit;
|
||||
-- Command_Name(Cindex1 .. Cindex2) is now the equivalent of the
|
||||
-- POSIX command "basename argv[0]"
|
||||
|
||||
-- Strip off any versioning information such as found on VMS.
|
||||
-- This would take the form of TOOL.exe followed by a ";" or "."
|
||||
-- and a sequence of one or more numbers.
|
||||
|
||||
if Command_Name (Cindex2) in '0' .. '9' then
|
||||
for J in reverse Cindex1 .. Cindex2 loop
|
||||
|
||||
exit when Command_Name (J) not in '0' .. '9';
|
||||
|
||||
if Command_Name (J) = '.' or Command_Name (J) = ';' then
|
||||
Cindex2 := J - 1;
|
||||
exit;
|
||||
end if;
|
||||
end loop;
|
||||
end if;
|
||||
|
||||
-- Strip off any executable extension (usually nothing or .exe)
|
||||
-- but formally reported by autoconf in the variable EXEEXT
|
||||
|
||||
if Cindex2 - Cindex1 >= 4 then
|
||||
if To_Lower (Command_Name (Cindex2 - 3)) = '.'
|
||||
and then To_Lower (Command_Name (Cindex2 - 2)) = 'e'
|
||||
and then To_Lower (Command_Name (Cindex2 - 1)) = 'x'
|
||||
and then To_Lower (Command_Name (Cindex2)) = 'e'
|
||||
then
|
||||
Cindex2 := Cindex2 - 4;
|
||||
end if;
|
||||
end loop;
|
||||
end if;
|
||||
|
||||
Name_Len := Cindex2 - Cindex1 + 1;
|
||||
Name_Buffer (1 .. Name_Len) := Command_Name (Cindex1 .. Cindex2);
|
||||
|
Loading…
x
Reference in New Issue
Block a user