diff options
author | Gary Dismukes <dismukes@adacore.com> | 2017-01-12 13:59:45 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-01-12 14:59:45 +0100 |
commit | 872fc7b53d4b2540b50c905fcfca78dcd9bf2ccb (patch) | |
tree | 9e945de11a9699d9821d2e8c9ab98126643ca38d /gcc/ada | |
parent | 00420f7430267c2df25b71edcb401e4df443ac01 (diff) | |
download | gcc-872fc7b53d4b2540b50c905fcfca78dcd9bf2ccb.zip gcc-872fc7b53d4b2540b50c905fcfca78dcd9bf2ccb.tar.gz gcc-872fc7b53d4b2540b50c905fcfca78dcd9bf2ccb.tar.bz2 |
sem_prag.adb: Minor reformatting.
2017-01-12 Gary Dismukes <dismukes@adacore.com>
* sem_prag.adb: Minor reformatting.
* sem_util.adb (Unique_Entity): fix result for
bodies of entry families.
From-SVN: r244363
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ada/sem_prag.adb | 4 | ||||
-rw-r--r-- | gcc/ada/sem_util.adb | 15 |
3 files changed, 21 insertions, 4 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index a7d230b..321b2e6 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2017-01-12 Gary Dismukes <dismukes@adacore.com> + + * sem_prag.adb: Minor reformatting. + * sem_util.adb (Unique_Entity): fix result for + bodies of entry families. + 2017-01-12 Justin Squirek <squirek@adacore.com> * sem_prag.adb (Analyze_Pragma): Add appropriate calls to diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 58dd3e8..6bf680f 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -3296,7 +3296,7 @@ package body Sem_Prag is elsif Ekind (Item_Id) = E_Constant then Error_Msg_Name_1 := Chars (Encap_Id); SPARK_Msg_NE - (Fix_Msg (Encap_Typ, "consant & cannot act as constituent of " + (Fix_Msg (Encap_Typ, "constant & cannot act as constituent of " & "single protected type %"), Indic, Item_Id); -- The constituent is a package instantiation @@ -11831,7 +11831,7 @@ package body Sem_Prag is procedure Resolve_Suppressible (Policy : Node_Id); -- Converts the assertion policy 'Suppressible' to either Check or - -- ignore based on whether checks are suppressed via -gnatp or ??? + -- Ignore based on whether checks are suppressed via -gnatp or ??? -------------------------- -- Resolve_Suppressible -- diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index b1f80ae..a4e733a 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -20658,14 +20658,25 @@ package body Sem_Util is when Entry_Kind => if Nkind (Parent (E)) = N_Entry_Body then declare + Prot_Type : Entity_Id; Prot_Item : Entity_Id; begin + if Ekind (E) = E_Entry then + Prot_Type := Scope (E); + else + -- Bodies of entry families are nested within an extra + -- scope that contains an entry index declaration. + Prot_Type := Scope (Scope (E)); + end if; + + pragma Assert (Ekind (Prot_Type) = E_Protected_Type); + -- Traverse the entity list of the protected type and locate -- an entry declaration which matches the entry body. - Prot_Item := First_Entity (Scope (E)); + Prot_Item := First_Entity (Prot_Type); while Present (Prot_Item) loop - if Ekind (Prot_Item) = E_Entry + if Ekind (Prot_Item) in Entry_Kind and then Corresponding_Body (Parent (Prot_Item)) = E then U := Prot_Item; |