summaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2017-01-13 10:11:17 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2017-01-13 10:11:17 +0000
commite213974d17eaaf2f905d43ecee70dbb7d37e28fd (patch)
tree0e1601684725cc6bbea28850d03387ce6dcc00bb /gcc/ada/sinfo.ads
parent76af476d6c61ce656fc9fb9009a9be2ef9a20fcd (diff)
downloadgcc-e213974d17eaaf2f905d43ecee70dbb7d37e28fd.tar.gz
2017-01-13 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Insert_Actions): Handle Iterated_Component_Association. * par-ch3.adb (P_Discrete_Choice_List): An Iterated_Component_Association is an array aggregate component. * par-ch4.adb (P_Iterated_Component_Association): New procedure. (Is_Quantified_Expression): New function that performs a lookahead to distinguish quantified expressions from iterated component associations. (P_Aggregate_Or_Paren_Expr): Recognize iterated component associations. (P_Unparen_Cond_Case_Quant_Expression, P_Primary): Ditto. * sem.adb (Analyze): Handle Iterated_Component_Association. * sem_aggr.adb (Resolve_Array_Aggregate): Dummy handling of iterated component associations. * sinfo.ads, sinfo.adb: Entries for for N_Iterated_Component_Association and its fields. * sprint.adb (Sprint_Node_Actual): Handle N_Iterated_Component_Association. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244403 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sinfo.ads')
-rw-r--r--gcc/ada/sinfo.ads24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index dd1aec58036..588d02e3d16 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -4098,8 +4098,24 @@ package Sinfo is
-- ARRAY_COMPONENT_ASSOCIATION ::=
-- DISCRETE_CHOICE_LIST => EXPRESSION
+ -- | ITERATED_COMPONENT_ASSOCIATION
-- See Record_Component_Association (4.3.1) for node structure
+ -- The iterated_component_association is introduced into the
+ -- Corrigendum of Ada_2012 by AI12-061.
+
+ ------------------------------------------
+ -- 4.3.3 Iterated component Association --
+ ------------------------------------------
+
+ -- ITERATED_COMPONENT_ASSOCIATION ::=
+ -- for DEFINING_IDENTIFIER in DISCRETE_CHOICE_LIST => EXPRESSION
+
+ -- N_Iterated_Component_Association
+ -- Sloc points to FOR
+ -- Defining_Identifier (Node1)
+ -- Expression (Node3)
+ -- Discrete_Choices (List4)
--------------------------------------------------
-- 4.4 Expression/Relation/Term/Factor/Primary --
@@ -8645,6 +8661,7 @@ package Sinfo is
N_Generic_Association,
N_Handled_Sequence_Of_Statements,
N_Index_Or_Discriminant_Constraint,
+ N_Iterated_Component_Association,
N_Itype_Reference,
N_Label,
N_Modular_Type_Definition,
@@ -11463,6 +11480,13 @@ package Sinfo is
4 => False, -- unused
5 => False), -- unused
+ N_Iterated_Component_Association =>
+ (1 => True, -- Defining_Identifier (Node1)
+ 2 => False, -- unused
+ 3 => True, -- Expression (Node3)
+ 4 => True, -- Discrete_Choices (List4)
+ 5 => False), -- unused
+
N_Extension_Aggregate =>
(1 => True, -- Expressions (List1)
2 => True, -- Component_Associations (List2)