summaryrefslogtreecommitdiff
path: root/gcc/ada/makeutl.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2012-10-02 10:19:14 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2012-10-02 10:19:14 +0200
commit07ef182e37382f49a97e8da1ce3508acdf3e3493 (patch)
treef5aad546b751a3741904e051f9156b42eb05c3c5 /gcc/ada/makeutl.adb
parent2a7b8e181bd51b6e96864840550c66619573e8d1 (diff)
downloadgcc-07ef182e37382f49a97e8da1ce3508acdf3e3493.tar.gz
[multiple changes]
2012-10-02 Vincent Pucci <pucci@adacore.com> * sem_attr.adb (Analyze_Attribute): Check dimension for attribute Old before it gets expanded. * sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate dimensions for identifier. 2012-10-02 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case where the iterator type is derived locally from an instantiation of Ada.Iterators_Interface. * exp_ch7.adb (Establish_Transient_Scope): Do not create a transient scope if within the expansion of an iterator loop, because a transient block already exists. 2012-10-02 Vincent Celier <celier@adacore.com> * gnatcmd.adb: Use absolute path for configuration pragmas files * make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved to Makeutl. * makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from make.adb. 2012-10-02 Vincent Celier <celier@adacore.com> * prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean parameter In_Limited. Check for circularity also if In_Limited is True. (Parse_Single_Project): Call Post_Parse_Context_Clause with In_Limited parameter. From-SVN: r191961
Diffstat (limited to 'gcc/ada/makeutl.adb')
-rw-r--r--gcc/ada/makeutl.adb31
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/ada/makeutl.adb b/gcc/ada/makeutl.adb
index cdbe1aa134c..a2ea435269d 100644
--- a/gcc/ada/makeutl.adb
+++ b/gcc/ada/makeutl.adb
@@ -139,6 +139,37 @@ package body Makeutl is
end if;
end Add_Linker_Option;
+ -------------------
+ -- Absolute_Path --
+ -------------------
+
+ function Absolute_Path
+ (Path : Path_Name_Type;
+ Project : Project_Id) return String
+ is
+ begin
+ Get_Name_String (Path);
+
+ declare
+ Path_Name : constant String := Name_Buffer (1 .. Name_Len);
+
+ begin
+ if Is_Absolute_Path (Path_Name) then
+ return Path_Name;
+
+ else
+ declare
+ Parent_Directory : constant String :=
+ Get_Name_String
+ (Project.Directory.Display_Name);
+
+ begin
+ return Parent_Directory & Path_Name;
+ end;
+ end if;
+ end;
+ end Absolute_Path;
+
-------------------------
-- Base_Name_Index_For --
-------------------------