aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Dismukes <dismukes@adacore.com>2019-12-13 09:03:40 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2019-12-13 09:03:40 +0000
commit563be3ee1db9e0fb1f37e13b02cff6651e934bee (patch)
treec6d13a2eb97f8d8e86c5b063d8978f691af6cb18
parent9ea2a24d506d0d45231ac9c783336a8309b6dd20 (diff)
downloadgcc-563be3ee1db9e0fb1f37e13b02cff6651e934bee.zip
gcc-563be3ee1db9e0fb1f37e13b02cff6651e934bee.tar.gz
gcc-563be3ee1db9e0fb1f37e13b02cff6651e934bee.tar.bz2
[Ada] Up-level addressing problems with private tasks and selective accept procs
2019-12-13 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * sem_util.adb (Scope_Within): For the case of checking for a task type procedure, check the Implementation_Base_Type of Curr. (Scope_Within_Or_Same): For the case of checking for a task type procedure, check the Implementation_Base_Type of Curr. From-SVN: r279344
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/sem_util.adb10
2 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index aabc2d4..4cd789f 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,10 @@
+2019-12-13 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_util.adb (Scope_Within): For the case of checking for a
+ task type procedure, check the Implementation_Base_Type of Curr.
+ (Scope_Within_Or_Same): For the case of checking for a task type
+ procedure, check the Implementation_Base_Type of Curr.
+
2019-12-13 Arnaud Charlet <charlet@adacore.com>
* impunit.adb (Non_Imp_File_Names_12): Add
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 91137ad..ea87a3a 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -24721,8 +24721,9 @@ package body Sem_Util is
-- A selective accept body appears within a task type, but the
-- enclosing subprogram is the procedure of the task body.
- elsif Ekind (Curr) = E_Task_Type
- and then Outer = Task_Body_Procedure (Curr)
+ elsif Ekind (Implementation_Base_Type (Curr)) = E_Task_Type
+ and then
+ Outer = Task_Body_Procedure (Implementation_Base_Type (Curr))
then
return True;
@@ -24763,8 +24764,9 @@ package body Sem_Util is
if Curr = Outer then
return True;
- elsif Ekind (Curr) = E_Task_Type
- and then Outer = Task_Body_Procedure (Curr)
+ elsif Ekind (Implementation_Base_Type (Curr)) = E_Task_Type
+ and then
+ Outer = Task_Body_Procedure (Implementation_Base_Type (Curr))
then
return True;