ada: Allow use of writable parameters inside function with side-effects
Writable parameters can be used as global outputs inside functions with side-effects. gcc/ada/ * sem_prag.adb (Collect_Global_Item): Handle functions with side-effects.
This commit is contained in:
parent
d917954922
commit
ec1cdad89a
1 changed files with 3 additions and 2 deletions
|
@ -31656,8 +31656,9 @@ package body Sem_Prag is
|
|||
-- outputs when the related type is access-to-variable.
|
||||
|
||||
if Ekind (Formal) = E_In_Parameter
|
||||
and then Ekind (Spec_Id) not in E_Function
|
||||
| E_Generic_Function
|
||||
and then (Ekind (Spec_Id) not in E_Function
|
||||
| E_Generic_Function
|
||||
or else Is_Function_With_Side_Effects (Spec_Id))
|
||||
and then Is_Access_Variable (Etype (Formal))
|
||||
then
|
||||
Append_New_Elmt (Formal, Subp_Outputs);
|
||||
|
|
Loading…
Add table
Reference in a new issue