From: Piotr Trojanek Date: Mon, 12 Sep 2022 13:33:15 +0000 (+0200) Subject: ada: Delay expansion of iterated component association X-Git-Tag: basepoints/gcc-14~4351 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2ef56cae72631a7349b4cb2b6bd843f05789e231;p=thirdparty%2Fgcc.git ada: Delay expansion of iterated component association When preanalysing spec expression (e.g. expression of an expression function), the name of iterator specification within an iterated component association should not be expanded, especially in GNATprove mode. gcc/ada/ * sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion of for iterated component association just like it is done within quantified expression. --- diff --git a/gcc/ada/sem_ch5.adb b/gcc/ada/sem_ch5.adb index 17bf6d91b44b..6d07f3d09e58 100644 --- a/gcc/ada/sem_ch5.adb +++ b/gcc/ada/sem_ch5.adb @@ -2429,11 +2429,12 @@ package body Sem_Ch5 is if not Is_Entity_Name (Iter_Name) - -- When the context is a quantified expression, the renaming - -- declaration is delayed until the expansion phase if we are - -- doing expansion. + -- When the context is a quantified expression or iterated component + -- association, the renaming declaration is delayed until the + -- expansion phase if we are doing expansion. - and then (Nkind (Parent (N)) /= N_Quantified_Expression + and then (Nkind (Parent (N)) not in N_Quantified_Expression + | N_Iterated_Component_Association or else (Operating_Mode = Check_Semantics and then not GNATprove_Mode))