]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ada: Fix small oversight in removal of N_Unchecked_Expression node
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 8 Nov 2024 14:35:27 +0000 (15:35 +0100)
committerMarc Poulhiès <dkm@gcc.gnu.org>
Mon, 18 Nov 2024 14:06:55 +0000 (15:06 +0100)
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.

gcc/ada/sem_eval.adb

index a880acabad8790136ab96835817bbf0d1441b7e5..9ea042ba0d3376e7c01c0662e872bdc138d4d1c6 100644 (file)
@@ -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;