aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/prj-ext.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-09-17 12:38:31 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2009-09-17 12:38:31 +0200
commitdaa72421353681f192c42be645ba2590f65c868e (patch)
tree49238d52872cb62ea7b3b2ed01b0bb7f1bcb4397 /gcc/ada/prj-ext.ads
parent15ac3c72db8333d4a63e43949121e5d7f7c2fb78 (diff)
downloadgcc-daa72421353681f192c42be645ba2590f65c868e.zip
gcc-daa72421353681f192c42be645ba2590f65c868e.tar.gz
gcc-daa72421353681f192c42be645ba2590f65c868e.tar.bz2
[multiple changes]
2009-09-17 Bob Duff <duff@adacore.com> * gnat_rm.texi, s-oscons-tmplt.c: Minor typo 2009-09-17 Emmanuel Briot <briot@adacore.com> * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads, prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree. Scenario variables are now specific to each project tree loaded in memory. Code clean ups. 2009-09-17 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_DT): Remove wrong line of code that was undocumented and probably added by mistake. From-SVN: r151792
Diffstat (limited to 'gcc/ada/prj-ext.ads')
-rw-r--r--gcc/ada/prj-ext.ads30
1 files changed, 25 insertions, 5 deletions
diff --git a/gcc/ada/prj-ext.ads b/gcc/ada/prj-ext.ads
index 931c3c5..cb9ecb7 100644
--- a/gcc/ada/prj-ext.ads
+++ b/gcc/ada/prj-ext.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2000-2007, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2009, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -26,8 +26,14 @@
-- Subprograms to set, get and cache external references, to be used as
-- External functions in project files.
+with Prj.Tree;
+
package Prj.Ext is
+ ------------------
+ -- Project Path --
+ ------------------
+
Gpr_Project_Path : constant String := "GPR_PROJECT_PATH";
-- Name of primary env. variable that contain path name(s) of directories
-- where project files may reside.
@@ -48,22 +54,36 @@ package Prj.Ext is
-- always start with the current directory (".") and the path separators
-- should be the correct ones for the platform.
+ -------------------------
+ -- External References --
+ -------------------------
+ -- External references influence the way a project tree is processed (in
+ -- particular they provide the values for the typed string variables that
+ -- are then used in case constructions).
+ -- External references are project-tree specific, so that when multiple
+ -- trees are loaded in parallel we can have different scenarios (or even
+ -- load the same tree twice and see different views of it).
+
procedure Add
- (External_Name : String;
+ (Tree : Prj.Tree.Project_Node_Tree_Ref;
+ External_Name : String;
Value : String);
-- Add an external reference (or modify an existing one)
function Value_Of
- (External_Name : Name_Id;
+ (Tree : Prj.Tree.Project_Node_Tree_Ref;
+ External_Name : Name_Id;
With_Default : Name_Id := No_Name)
return Name_Id;
-- Get the value of an external reference, and cache it for future uses
- function Check (Declaration : String) return Boolean;
+ function Check
+ (Tree : Prj.Tree.Project_Node_Tree_Ref;
+ Declaration : String) return Boolean;
-- Check that an external declaration <external>=<value> is correct.
-- If it is correct, the external reference is Added.
- procedure Reset;
+ procedure Reset (Tree : Prj.Tree.Project_Node_Tree_Ref);
-- Clear the internal data structure that stores the external references
-- and free any allocated memory.