From: Piotr Trojanek Date: Mon, 22 Jun 2020 11:48:43 +0000 (+0200) Subject: [Ada] Fix range check on constrained array with expanded index name X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=38e5d9c57fdbb101014e6e55843e2714c3d2cd49;p=gcc.git [Ada] Fix range check on constrained array with expanded index name gcc/ada/ * sem_ch3.adb (Analyze_Subtype_Declaration): Recognize both identifiers and expanded names; use high-level Is_Scalar_Type instead of low-level membership test. --- diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index a5690d62e56..8581938d366 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -5829,8 +5829,8 @@ package body Sem_Ch3 is Target_Index := First_Index (Indic_Typ); while Present (Subt_Index) loop - if ((Nkind (Subt_Index) = N_Identifier - and then Ekind (Entity (Subt_Index)) in Scalar_Kind) + if ((Nkind (Subt_Index) in N_Expanded_Name | N_Identifier + and then Is_Scalar_Type (Entity (Subt_Index))) or else Nkind (Subt_Index) = N_Subtype_Indication) and then Nkind (Scalar_Range (Etype (Subt_Index))) = N_Range