From: Piotr Trojanek Date: Wed, 8 Mar 2023 14:30:41 +0000 (+0100) Subject: ada: Fix copying of quantified expressions X-Git-Tag: basepoints/gcc-15~8918 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=70ff3a2e4c85d2d48717067708631b56aa929a6e;p=thirdparty%2Fgcc.git 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. --- 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;