From: Piotr Trojanek Date: Mon, 12 Sep 2022 16:10:59 +0000 (+0200) Subject: ada: Delay expansion of iterator specification in preanalysis X-Git-Tag: basepoints/gcc-14~4350 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4450567167e126051e3100de682e09f0902a2106;p=thirdparty%2Fgcc.git ada: Delay expansion of iterator specification in preanalysis When preanalysing spec expression (e.g. expression of an expression function), the name of iterator specification should not be expanded. This patch simplifies a complicated condition for delaying expansion within quantified expressions and iterated component associations. gcc/ada/ * sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion based on Full_Analysis flag. --- diff --git a/gcc/ada/sem_ch5.adb b/gcc/ada/sem_ch5.adb index 6d07f3d09e58..d0f00b31161a 100644 --- a/gcc/ada/sem_ch5.adb +++ b/gcc/ada/sem_ch5.adb @@ -2429,14 +2429,9 @@ package body Sem_Ch5 is if not Is_Entity_Name (Iter_Name) - -- 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)) not in N_Quantified_Expression - | N_Iterated_Component_Association - or else (Operating_Mode = Check_Semantics - and then not GNATprove_Mode)) + -- Do not perform this expansion in preanalysis + + and then Full_Analysis -- Do not perform this expansion when expansion is disabled, where the -- temporary may hide the transformation of a selected component into