From 38e5d9c57fdbb101014e6e55843e2714c3d2cd49 Mon Sep 17 00:00:00 2001 From: Piotr Trojanek Date: Mon, 22 Jun 2020 13:48:43 +0200 Subject: [PATCH] [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. --- 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 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 -- 2.30.2