diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-09-09 11:50:46 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-09-09 11:50:46 +0200 |
commit | 61bcf5ca33e9ea22001c1283a9ea0df5bcae2ecc (patch) | |
tree | 577cfd9eb82c4ec23845cdea4caae9e2eadd84ea /gcc/ada/exp_ch9.ads | |
parent | 0052da204e85630c973a0ad13b49e403abe1d5d3 (diff) | |
download | gcc-61bcf5ca33e9ea22001c1283a9ea0df5bcae2ecc.zip gcc-61bcf5ca33e9ea22001c1283a9ea0df5bcae2ecc.tar.gz gcc-61bcf5ca33e9ea22001c1283a9ea0df5bcae2ecc.tar.bz2 |
[multiple changes]
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.ads (Find_Master_Scope): New function, extracted from
Build_Master_Entity, to find the proper scope for the master entity of
a type that may contain tasks, in the presence of transient scopes.
* exp_ch9.adb (Build_Master_Entity) Use new function.
* exp_ch3.adb (Build_Class_Wide_Master): ditto.
2010-09-09 Vincent Celier <celier@adacore.com>
* prj-attr.adb: Add new attributes Leading_Library_Options and
Linker'Leading_Switches.
* snames.ads-tmpl: Add new standard names Leading_Library_Options and
Leading_Switches.
From-SVN: r164060
Diffstat (limited to 'gcc/ada/exp_ch9.ads')
-rw-r--r-- | gcc/ada/exp_ch9.ads | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/exp_ch9.ads b/gcc/ada/exp_ch9.ads index 80d870a..13e3f79 100644 --- a/gcc/ada/exp_ch9.ads +++ b/gcc/ada/exp_ch9.ads @@ -263,6 +263,15 @@ package Exp_Ch9 is -- return the external version of a protected operation, which locks -- the object before invoking the internal protected subprogram body. + function Find_Master_Scope (E : Entity_Id) return Entity_Id; + -- When a type includes tasks, a master entity is created in the scope, to + -- be used by the runtime during activation. In general the master is the + -- immediate scope in which the type is declared, but in Ada2005, in the + -- presence of synchronized classwide interfaces, the immediate scope of + -- an anonymous access type may be a transient scope, which has no run-time + -- presence. In this case, the scope of the master is the innermost scope + -- that comes from source. + function First_Protected_Operation (D : List_Id) return Node_Id; -- Given the declarations list for a protected body, find the -- first protected operation body. |