diff options
author | Gary Dismukes <dismukes@adacore.com> | 2019-12-13 09:03:40 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2019-12-13 09:03:40 +0000 |
commit | 563be3ee1db9e0fb1f37e13b02cff6651e934bee (patch) | |
tree | c6d13a2eb97f8d8e86c5b063d8978f691af6cb18 | |
parent | 9ea2a24d506d0d45231ac9c783336a8309b6dd20 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/sem_util.adb | 10 |
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; |