From 96cdd379c398499f0b19e3b469b72b77857995c6 Mon Sep 17 00:00:00 2001 From: Yannick Moy Date: Tue, 13 Aug 2019 08:06:18 +0000 Subject: [PATCH] [Ada] Complete the more extended AST traversal used in GNATprove Following the work on the Ada 202X feature of iterated aggregates (AI12-061), Loop_Actions should have been listed as a semantic field of nodes of kind N_Iterated_Component_Association. Fix this as well as the new extended AST traversal which should traverse these fields. There is no impact on compilation. 2019-08-13 Yannick Moy gcc/ada/ * sem_util.adb (Traverse_More_Func): Take into account Loop_Actions inside N_Iterated_Component_Association nodes. * sinfo.ads: Document correctly Loop_Actions as a field of nodes of kind N_Iterated_Component_Association. From-SVN: r274332 --- gcc/ada/ChangeLog | 7 +++++++ gcc/ada/sem_util.adb | 3 +++ gcc/ada/sinfo.ads | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 892cbbf85e6..5b88950ace1 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2019-08-13 Yannick Moy + + * sem_util.adb (Traverse_More_Func): Take into account + Loop_Actions inside N_Iterated_Component_Association nodes. + * sinfo.ads: Document correctly Loop_Actions as a field of nodes + of kind N_Iterated_Component_Association. + 2019-08-13 Claire Dross * libgnat/a-cfinve.adb, libgnat/a-cofove.adb (Find_Index, diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 54ac0a41615..4f20eaa358b 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -25580,6 +25580,9 @@ package body Sem_Util is when N_Case_Expression_Alternative => Traverse_More (Actions (Node), Result); + when N_Iterated_Component_Association => + Traverse_More (Loop_Actions (Node), Result); + when N_Iteration_Scheme => Traverse_More (Condition_Actions (Node), Result); diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads index 064147e262b..e3f7fd32ebe 100644 --- a/gcc/ada/sinfo.ads +++ b/gcc/ada/sinfo.ads @@ -11959,7 +11959,7 @@ package Sinfo is N_Iterated_Component_Association => (1 => True, -- Defining_Identifier (Node1) - 2 => False, -- unused + 2 => True, -- Loop_Actions (List2-Sem) 3 => True, -- Expression (Node3) 4 => True, -- Discrete_Choices (List4) 5 => False), -- unused -- 2.30.2