[Ada] Fix related to handling up-level references in protected entries
authorGary Dismukes <dismukes@adacore.com>
Thu, 12 Dec 2019 10:03:30 +0000 (10:03 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Thu, 12 Dec 2019 10:03:30 +0000 (10:03 +0000)
2019-12-12  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

* exp_ch9.adb (Build_Protected_Entry): Set the Scope of the new
block to be the entity of the procedure created for the entry.

From-SVN: r279300

gcc/ada/ChangeLog
gcc/ada/exp_ch9.adb

index d14f7e3709a8850a1951b3a3e8ed35d26f964d1e..386ae097679f6e2dba2625e01c633610e4d36717 100644 (file)
@@ -1,3 +1,8 @@
+2019-12-12  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch9.adb (Build_Protected_Entry): Set the Scope of the new
+       block to be the entity of the procedure created for the entry.
+
 2019-12-12  Steve Baird  <baird@adacore.com>
 
        * sem_ch10.adb (Install_With_Clause): Check for the case of a
index 6e34de131ffb23e8a09bc8eec8ab905084ce0ce8..60080e60066d02bff8fbe1b1d5859b3647f4baa2 100644 (file)
@@ -3724,10 +3724,13 @@ package body Exp_Ch9 is
             Handled_Statement_Sequence => Handled_Statement_Sequence (N)));
 
       --  Analyze now and reset scopes for declarations so that Scope fields
-      --  currently denoting the entry will now denote the block scope.
+      --  currently denoting the entry will now denote the block scope, and
+      --  the block's scope will be set to the new procedure entity.
 
       Analyze_Statements (Bod_Stmts);
 
+      Set_Scope (Entity (Identifier (First (Bod_Stmts))), Bod_Id);
+
       Reset_Scopes_To
         (First (Bod_Stmts), Entity (Identifier (First (Bod_Stmts))));