From 33a3b5f3a5034c3b41bd34fdf145da9a20743a28 Mon Sep 17 00:00:00 2001 From: Gary Dismukes Date: Fri, 19 Mar 2021 19:28:38 -0400 Subject: [PATCH] [Ada] Missing check for assigning too-large array to fixed-lower-bound object gcc/ada/ * sem_ch3.adb (Constrain_Index): Set the High_Bound of a fixed-lower-bound subtype's range to T (the subtype of the FLB index being constrained) rather than Base_Type (T). --- gcc/ada/sem_ch3.adb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 346850de21a9..9ef937df71ea 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -14397,7 +14397,7 @@ package body Sem_Ch3 is -- If this is a range for a fixed-lower-bound subtype, then set the -- index itype's lower bound to the FLB and the index type's upper bound - -- to the high bound of the index base type's high bound, mark the itype + -- to the high bound of the index subtype's high bound, mark the itype -- as an FLB index subtype, and set the range's Etype to the itype. if Nkind (S) = N_Range and then Is_FLB_Index then @@ -14405,7 +14405,7 @@ package body Sem_Ch3 is (Def_Id, Make_Range (Sloc (S), Low_Bound => Low_Bound (S), - High_Bound => Type_High_Bound (Base_Type (T)))); + High_Bound => Type_High_Bound (T))); Set_Is_Fixed_Lower_Bound_Index_Subtype (Def_Id); else -- 2.47.2