From f5eb70c2276e94991b453ec07f50e00c5e7dbd36 Mon Sep 17 00:00:00 2001 From: Etienne Servais Date: Tue, 4 Jan 2022 12:41:02 +0100 Subject: [PATCH] [Ada] Fix check for implicit allocation of dynamic objects gcc/ada/ * sem_ch3.adb (Check_Dynamic_Object): Swap check order. --- gcc/ada/sem_ch3.adb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 3fc2051..06b8cc4 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -3831,6 +3831,9 @@ package body Sem_Ch3 is then null; + elsif Is_Record_Type (Etype (Comp)) then + Check_Dynamic_Object (Etype (Comp)); + elsif not Discriminated_Size (Comp) and then Comes_From_Source (Comp) then @@ -3838,8 +3841,6 @@ package body Sem_Ch3 is ("component& of non-static size will violate restriction " & "No_Implicit_Heap_Allocation?", N, Comp); - elsif Is_Record_Type (Etype (Comp)) then - Check_Dynamic_Object (Etype (Comp)); end if; Next_Component (Comp); -- 2.7.4