summaryrefslogtreecommitdiff
path: root/gcc/ada/makeutl.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-30 15:17:50 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-30 15:17:50 +0000
commit50b3164db09945691ae3893177f827c1839e639b (patch)
treecc310e9db2f48762bb7ae1fb5ca93405bbe61466 /gcc/ada/makeutl.adb
parent2beb22b15d7d2e8f781929a08cc8b6f31ec516e6 (diff)
downloadgcc-50b3164db09945691ae3893177f827c1839e639b.tar.gz
2012-07-30 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code refactoring. 2012-07-30 Thomas Quinot <quinot@adacore.com> * gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads (Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better reflect what this subprogram does. Rename argument Including_L_Switch to For_Gnatbind, and also exempt -A from rewriting. * bindusg.adb: Document optional =file argument to gnatbind -A. 2012-07-30 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): Do no apply restriction check on storage pools to access to subprogram types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189978 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/makeutl.adb')
-rw-r--r--gcc/ada/makeutl.adb30
1 files changed, 17 insertions, 13 deletions
diff --git a/gcc/ada/makeutl.adb b/gcc/ada/makeutl.adb
index bc3a0ee1409..253e8db814c 100644
--- a/gcc/ada/makeutl.adb
+++ b/gcc/ada/makeutl.adb
@@ -1316,11 +1316,12 @@ package body Makeutl is
-- Object files and -L switches specified with relative
-- paths must be converted to absolute paths.
- Test_If_Relative_Path
- (Switch => Linker_Options_Buffer (Last_Linker_Option),
- Parent => Dir_Path,
- Do_Fail => Do_Fail,
- Including_L_Switch => True);
+ Ensure_Absolute_Path
+ (Switch =>
+ Linker_Options_Buffer (Last_Linker_Option),
+ Parent => Dir_Path,
+ Do_Fail => Do_Fail,
+ For_Gnatbind => False);
end if;
Options := In_Tree.Shared.String_Elements.Table (Options).Next;
@@ -1936,14 +1937,14 @@ package body Makeutl is
end Path_Or_File_Name;
---------------------------
- -- Test_If_Relative_Path --
+ -- Ensure_Absolute_Path --
---------------------------
- procedure Test_If_Relative_Path
+ procedure Ensure_Absolute_Path
(Switch : in out String_Access;
Parent : String;
Do_Fail : Fail_Proc;
- Including_L_Switch : Boolean := True;
+ For_Gnatbind : Boolean := False;
Including_Non_Switch : Boolean := True;
Including_RTS : Boolean := False)
is
@@ -1958,9 +1959,10 @@ package body Makeutl is
if Sw (1) = '-' then
if Sw'Length >= 3
- and then (Sw (2) = 'A'
- or else Sw (2) = 'I'
- or else (Including_L_Switch and then Sw (2) = 'L'))
+ and then (Sw (2) = 'I'
+ or else (not For_Gnatbind
+ and then (Sw (2) = 'L'
+ or else Sw (2) = 'A')))
then
Start := 3;
@@ -1973,7 +1975,9 @@ package body Makeutl is
or else
Sw (2 .. 3) = "aO"
or else
- Sw (2 .. 3) = "aI")
+ Sw (2 .. 3) = "aI"
+ or else
+ (For_Gnatbind and then Sw (2 .. 3) = "A="))
then
Start := 4;
@@ -2033,7 +2037,7 @@ package body Makeutl is
end if;
end;
end if;
- end Test_If_Relative_Path;
+ end Ensure_Absolute_Path;
-------------------
-- Unit_Index_Of --