From 70ff3a2e4c85d2d48717067708631b56aa929a6e Mon Sep 17 00:00:00 2001 From: Piotr Trojanek Date: Wed, 8 Mar 2023 15:30:41 +0100 Subject: [PATCH] ada: Fix copying of quantified expressions While visiting the AST as part of routine New_Copy_Tree we maintain an EWA_Level variable in a stack-like fashion. This worked fine for expression with actions nodes but not for quantified expressions. gcc/ada/ * sem_util.adb (Visit_Node): Decrement EWA_Level with the same condition as when it was incremented. --- gcc/ada/sem_util.adb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index b83c75939c73..c9aa76707a5b 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -24383,7 +24383,10 @@ package body Sem_Util is then EWA_Inner_Scope_Level := EWA_Inner_Scope_Level - 1; - elsif Nkind (N) = N_Expression_With_Actions then + elsif Nkind (N) = N_Expression_With_Actions + or else + (Nkind (N) = N_Quantified_Expression and then Expander_Active) + then EWA_Level := EWA_Level - 1; end if; end Visit_Node; -- 2.47.2