From 4217466a87672372ec0d5e0affafd33c06a35574 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Tue, 4 Jan 2022 13:39:45 +0100 Subject: [PATCH] [Ada] Fix incomplete debug info for derived packed array type gcc/ada/ * sem_ch3.adb (Analyze_Subtype_Declaration): In the case of an array copy Packed_Array_Impl_Type manually here. (Copy_Array_Subtype_Attributes): Do not copy it here. --- gcc/ada/sem_ch3.adb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 06b8cc4..2e207c1 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -5512,6 +5512,7 @@ package body Sem_Ch3 is when Array_Kind => Mutate_Ekind (Id, E_Array_Subtype); Copy_Array_Subtype_Attributes (Id, T); + Set_Packed_Array_Impl_Type (Id, Packed_Array_Impl_Type (T)); when Decimal_Fixed_Point_Kind => Mutate_Ekind (Id, E_Decimal_Fixed_Point_Subtype); @@ -14972,6 +14973,9 @@ package body Sem_Ch3 is -- Copy_Array_Subtype_Attributes -- ----------------------------------- + -- Note that we used to copy Packed_Array_Impl_Type too here, but we now + -- let it be recreated during freezing for the sake of better debug info. + procedure Copy_Array_Subtype_Attributes (T1, T2 : Entity_Id) is begin Set_Size_Info (T1, T2); @@ -14989,7 +14993,6 @@ package body Sem_Ch3 is Set_Convention (T1, Convention (T2)); Set_Is_Limited_Composite (T1, Is_Limited_Composite (T2)); Set_Is_Private_Composite (T1, Is_Private_Composite (T2)); - Set_Packed_Array_Impl_Type (T1, Packed_Array_Impl_Type (T2)); end Copy_Array_Subtype_Attributes; ----------------------------------- -- 2.7.4