diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2024-11-08 15:35:27 +0100 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-11-18 15:06:55 +0100 |
commit | 70faad19613748c7894afafac2703d7aa856a7c6 (patch) | |
tree | efc2655815066dfb82805643df05e8ced33ee405 | |
parent | b4fd15d8bea6224a431e062d846459cc57724e41 (diff) | |
download | gcc-70faad19613748c7894afafac2703d7aa856a7c6.zip gcc-70faad19613748c7894afafac2703d7aa856a7c6.tar.gz gcc-70faad19613748c7894afafac2703d7aa856a7c6.tar.bz2 |
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.
-rw-r--r-- | gcc/ada/sem_eval.adb | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ada/sem_eval.adb b/gcc/ada/sem_eval.adb index a880aca..9ea042b 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; |