diff options
Diffstat (limited to 'gcc/ada/exp_ch11.adb')
-rw-r--r-- | gcc/ada/exp_ch11.adb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/ada/exp_ch11.adb b/gcc/ada/exp_ch11.adb index acc53b1..abc91a2 100644 --- a/gcc/ada/exp_ch11.adb +++ b/gcc/ada/exp_ch11.adb @@ -1426,9 +1426,9 @@ package body Exp_Ch11 is -- objects of controlled types, for example. We do not want to clean up -- the return object. - if not Nkind_In (Parent (N), N_Accept_Statement, - N_Extended_Return_Statement, - N_Package_Body) + if Nkind (Parent (N)) not in N_Accept_Statement + | N_Extended_Return_Statement + | N_Package_Body and then not Delay_Cleanups (Current_Scope) and then not Is_Thunk (Current_Scope) then |