diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-09-17 12:38:31 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-09-17 12:38:31 +0200 |
commit | daa72421353681f192c42be645ba2590f65c868e (patch) | |
tree | 49238d52872cb62ea7b3b2ed01b0bb7f1bcb4397 /gcc/ada/prj-ext.ads | |
parent | 15ac3c72db8333d4a63e43949121e5d7f7c2fb78 (diff) | |
download | gcc-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.ads | 30 |
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. |