From: Viljar Indus Date: Tue, 5 Mar 2024 09:57:12 +0000 (+0200) Subject: ada: Check subtype to avoid a precondition failure X-Git-Tag: basepoints/gcc-16~8962 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=811bfc3f3e4f6f3e7a98e90409a8a6dbaa1509e1;p=thirdparty%2Fgcc.git ada: Check subtype to avoid a precondition failure gcc/ada/ * sem_ch3.adb (Analyze_Component_Declaration): Apply range checks only for Scalar_Types to ensure that they have the Scalar_Range attribute. --- diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 7ee4ca299d9..263be607ec1 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -2029,8 +2029,9 @@ package body Sem_Ch3 is while Present (Target_Index) loop if Nkind (Subt_Index) in N_Expanded_Name | N_Identifier - and then Nkind - (Scalar_Range (Entity (Subt_Index))) = N_Range + and then Is_Scalar_Type (Entity (Subt_Index)) + and then + Nkind (Scalar_Range (Entity (Subt_Index))) = N_Range then Apply_Range_Check (Expr => Scalar_Range (Entity (Subt_Index)),