aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGary Dismukes <dismukes@adacore.com>2017-01-12 13:59:45 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2017-01-12 14:59:45 +0100
commit872fc7b53d4b2540b50c905fcfca78dcd9bf2ccb (patch)
tree9e945de11a9699d9821d2e8c9ab98126643ca38d /gcc
parent00420f7430267c2df25b71edcb401e4df443ac01 (diff)
downloadgcc-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')
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/sem_prag.adb4
-rw-r--r--gcc/ada/sem_util.adb15
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;