From 2ef56cae72631a7349b4cb2b6bd843f05789e231 Mon Sep 17 00:00:00 2001 From: Piotr Trojanek Date: Mon, 12 Sep 2022 15:33:15 +0200 Subject: [PATCH] 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. --- gcc/ada/sem_ch5.adb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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)) -- 2.47.2