From: Eric Botcazou Date: Fri, 8 Nov 2024 14:35:27 +0000 (+0100) Subject: ada: Fix small oversight in removal of N_Unchecked_Expression node X-Git-Tag: basepoints/gcc-16~4149 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=70faad19613748c7894afafac2703d7aa856a7c6;p=thirdparty%2Fgcc.git ada: Fix small oversight in removal of N_Unchecked_Expression node In addition to Resolve_Indexed_Component, Eval_Indexed_Component can also set the Do_Range_Check flag on the expressions of an N_Indexed_Component node through the call on Check_Non_Static_Context, so this also needs to be blocked by the Kill_Range_Check flag. gcc/ada/ChangeLog: * sem_eval.adb (Eval_Indexed_Component): Clear Do_Range_Check on the expressions if Kill_Range_Check is set on the node. --- diff --git a/gcc/ada/sem_eval.adb b/gcc/ada/sem_eval.adb index a880acabad87..9ea042ba0d33 100644 --- a/gcc/ada/sem_eval.adb +++ b/gcc/ada/sem_eval.adb @@ -2629,6 +2629,9 @@ package body Sem_Eval is Expr := First (Expressions (N)); while Present (Expr) loop Check_Non_Static_Context (Expr); + if Kill_Range_Check (N) then + Set_Do_Range_Check (Expr, False); + end if; Next (Expr); end loop;