aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch9.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2013-10-10 13:01:42 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2013-10-10 13:01:42 +0200
commit11d59a86830fe41e96a652762c210649bdb549a2 (patch)
tree31eec373b3d31c6c1f3aa8047deeb53c6ad5a2bb /gcc/ada/exp_ch9.adb
parent27a8f1502021f7d789a6d6970c73ba7ca703e0fd (diff)
downloadgcc-11d59a86830fe41e96a652762c210649bdb549a2.zip
gcc-11d59a86830fe41e96a652762c210649bdb549a2.tar.gz
gcc-11d59a86830fe41e96a652762c210649bdb549a2.tar.bz2
[multiple changes]
2013-10-10 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Minor fix. 2013-10-10 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Remove the Comes_From_Source test for the overlap warning. 2013-10-10 Robert Dewar <dewar@adacore.com> * sem_util.adb: Minor code reorganization (use Nkind_In). * sem_warn.adb: Minor code reorganization (optimization in Check_Unset_Reference). * exp_ch9.adb, exp_ch4.adb, sinfo.ads: Minor reformatting. 2013-10-10 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Install_Parent_Private_Declarations): When instantiating a child unit, do not install private declaration of a non-generic ancestor of the generic that is also an ancestor of the current unit: its private part will be installed when private part of ancestor itself is analyzed. 2013-10-10 Thomas Quinot <quinot@adacore.com> * freeze.adb (Check_Component_Storage_Order): Retrieve component aliased status from type entities directly instead of going back to original component definition. * sem_ch7.adb: Minor reformatting. From-SVN: r203349
Diffstat (limited to 'gcc/ada/exp_ch9.adb')
-rw-r--r--gcc/ada/exp_ch9.adb42
1 files changed, 23 insertions, 19 deletions
diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb
index 6f43792..738564c 100644
--- a/gcc/ada/exp_ch9.adb
+++ b/gcc/ada/exp_ch9.adb
@@ -9010,26 +9010,26 @@ package body Exp_Ch9 is
then
Protection_Subtype :=
Make_Subtype_Indication (Loc,
- Subtype_Mark =>
- New_Reference_To
- (RTE (RE_Static_Interrupt_Protection), Loc),
- Constraint =>
- Make_Index_Or_Discriminant_Constraint (Loc,
- Constraints => New_List (
- Entry_Count_Expr,
- Make_Integer_Literal (Loc, Num_Attach_Handler))));
+ Subtype_Mark =>
+ New_Reference_To
+ (RTE (RE_Static_Interrupt_Protection), Loc),
+ Constraint =>
+ Make_Index_Or_Discriminant_Constraint (Loc,
+ Constraints => New_List (
+ Entry_Count_Expr,
+ Make_Integer_Literal (Loc, Num_Attach_Handler))));
elsif Has_Interrupt_Handler (Prot_Typ)
and then not Restriction_Active (No_Dynamic_Attachment)
then
Protection_Subtype :=
Make_Subtype_Indication (Loc,
- Subtype_Mark =>
- New_Reference_To
- (RTE (RE_Dynamic_Interrupt_Protection), Loc),
- Constraint =>
- Make_Index_Or_Discriminant_Constraint (Loc,
- Constraints => New_List (Entry_Count_Expr)));
+ Subtype_Mark =>
+ New_Reference_To
+ (RTE (RE_Dynamic_Interrupt_Protection), Loc),
+ Constraint =>
+ Make_Index_Or_Discriminant_Constraint (Loc,
+ Constraints => New_List (Entry_Count_Expr)));
else
case Corresponding_Runtime_Package (Prot_Typ) is
@@ -13644,12 +13644,14 @@ package body Exp_Ch9 is
-- Protected types with interrupt handlers (when not using a
-- restricted profile) are also considered equivalent to protected
- -- types with entries. The types which are used
- -- (Static_Interrupt_Protection and Dynamic_Interrupt_Protection)
- -- are derived from Protection_Entries.
+ -- types with entries.
+
+ -- The types which are used (Static_Interrupt_Protection and
+ -- Dynamic_Interrupt_Protection) are derived from Protection_Entries.
declare
Pkg_Id : constant RTU_Id := Corresponding_Runtime_Package (Ptyp);
+
Called_Subp : RE_Id;
begin
@@ -13695,8 +13697,8 @@ package body Exp_Ch9 is
Append_To (Args,
Make_Attribute_Reference (Loc,
- Prefix => New_Reference_To (P_Arr, Loc),
- Attribute_Name => Name_Unrestricted_Access));
+ Prefix => New_Reference_To (P_Arr, Loc),
+ Attribute_Name => Name_Unrestricted_Access));
if Pkg_Id = System_Tasking_Protected_Objects_Entries then
@@ -13713,6 +13715,7 @@ package body Exp_Ch9 is
end if;
elsif Pkg_Id = System_Tasking_Protected_Objects_Single_Entry then
+
-- This is the case where we have a protected object with
-- interfaces and no entries, and the single entry restriction
-- is in effect. We pass a null pointer for the entry
@@ -13721,6 +13724,7 @@ package body Exp_Ch9 is
Append_To (Args, Make_Null (Loc));
elsif Pkg_Id = System_Tasking_Protected_Objects_Entries then
+
-- This is the case where we have a protected object with no
-- entries and:
-- - either interrupt handlers with non restricted profile,