diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-10-10 13:01:42 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-10-10 13:01:42 +0200 |
commit | 11d59a86830fe41e96a652762c210649bdb549a2 (patch) | |
tree | 31eec373b3d31c6c1f3aa8047deeb53c6ad5a2bb /gcc/ada/exp_ch9.adb | |
parent | 27a8f1502021f7d789a6d6970c73ba7ca703e0fd (diff) | |
download | gcc-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.adb | 42 |
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, |