diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2017-10-14 17:17:41 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-10-14 17:17:41 +0000 |
commit | 0fcd7270b6fb2fbb5ec72671374b17d3db531151 (patch) | |
tree | e6e189f31ec835d26709dbdbb664de99cc3a592a /gcc/ada | |
parent | 92b751fdc698c7b2040f986aaa125e4163003a2d (diff) | |
download | gcc-0fcd7270b6fb2fbb5ec72671374b17d3db531151.zip gcc-0fcd7270b6fb2fbb5ec72671374b17d3db531151.tar.gz gcc-0fcd7270b6fb2fbb5ec72671374b17d3db531151.tar.bz2 |
sem_elab.adb (In_Preelaborated_Context): A generic package subject to Remote_Call_Interface is not a suitable...
gcc/ada/
2017-10-14 Hristian Kirtchev <kirtchev@adacore.com>
* sem_elab.adb (In_Preelaborated_Context): A generic package subject to
Remote_Call_Interface is not a suitable preelaboratd context when the
call appears in the package body.
gcc/testsuite/
2017-10-14 Hristian Kirtchev <kirtchev@adacore.com>
* gnat.dg/remote_call_iface.ads, gnat.dg/remote_call_iface.adb: New
testcase.
From-SVN: r253758
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ada/sem_elab.adb | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index d0d17ba..7708c58 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2017-10-14 Hristian Kirtchev <kirtchev@adacore.com> + + * sem_elab.adb (In_Preelaborated_Context): A generic package subject to + Remote_Call_Interface is not a suitable preelaboratd context when the + call appears in the package body. + 2017-10-14 Eric Botcazou <ebotcazou@adacore.com> * layout.ads (Set_Elem_Alignment): Add Align parameter defaulted to 0. diff --git a/gcc/ada/sem_elab.adb b/gcc/ada/sem_elab.adb index 7f5a3d6..7f9ce08 100644 --- a/gcc/ada/sem_elab.adb +++ b/gcc/ada/sem_elab.adb @@ -1808,7 +1808,7 @@ package body Sem_Elab is -- be on another machine. if Ekind (Body_Id) = E_Package_Body - and then Ekind (Spec_Id) = E_Package + and then Ekind_In (Spec_Id, E_Generic_Package, E_Package) and then (Is_Remote_Call_Interface (Spec_Id) or else Is_Remote_Types (Spec_Id)) then |