diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-01-13 11:33:37 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-01-13 11:33:37 +0100 |
commit | ef74daead6d1668980566524b3a49dcc8f51295c (patch) | |
tree | 16e64aeaef0f64c0a97694cfa8298fdfe76681cd /gcc/ada/sinfo.adb | |
parent | da9683f4dbc85066c290798a14d1158f804f92a2 (diff) | |
download | gcc-ef74daead6d1668980566524b3a49dcc8f51295c.zip gcc-ef74daead6d1668980566524b3a49dcc8f51295c.tar.gz gcc-ef74daead6d1668980566524b3a49dcc8f51295c.tar.bz2 |
[multiple changes]
2017-01-13 Gary Dismukes <dismukes@adacore.com>
* sem_ch13.adb: Minor reformatting and typo fix.
2017-01-13 Ed Schonberg <schonberg@adacore.com>
* par-ch4.adb (P_Aggregate_Or_Parent_Expr): An
Iterated_Component_Association is a named association in an
array aggregate.
* sem_aggr.adb (Resolve_Iterated_Component_Association): New
procedure, subsidiary of Resolve_Array_Aggregate, to analyze
and resolve the discrete choices and the expression of the
new construct.
* sinfo.adb, sinfo.ads: In analogy with N_Component_Association,
Loop_Actions and Box_Present are attributes of
N_Iterated_Component_Association nodes. Box_Present is always
False in this case.
* sprint.adb (Sprint_Node): An Iterated_Component_Association
has a Discrete_Choices list, as specified in the RM. A
Component_Association for aggregate uses instead a Choices list.
We have to live with this small inconsistency because the new
construct also has a defining identifier, and there is no way
to merge the two node structures.
From-SVN: r244410
Diffstat (limited to 'gcc/ada/sinfo.adb')
-rw-r--r-- | gcc/ada/sinfo.adb | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb index dbe51ec..a99790b 100644 --- a/gcc/ada/sinfo.adb +++ b/gcc/ada/sinfo.adb @@ -366,7 +366,8 @@ package body Sinfo is or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration or else NT (N).Nkind = N_Formal_Package_Declaration - or else NT (N).Nkind = N_Generic_Association); + or else NT (N).Nkind = N_Generic_Association + or else NT (N).Nkind = N_Iterated_Component_Association); return Flag15 (N); end Box_Present; @@ -2201,7 +2202,8 @@ package body Sinfo is (N : Node_Id) return List_Id is begin pragma Assert (False - or else NT (N).Nkind = N_Component_Association); + or else NT (N).Nkind = N_Component_Association + or else NT (N).Nkind = N_Iterated_Component_Association); return List2 (N); end Loop_Actions; @@ -3665,7 +3667,8 @@ package body Sinfo is or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration or else NT (N).Nkind = N_Formal_Package_Declaration - or else NT (N).Nkind = N_Generic_Association); + or else NT (N).Nkind = N_Generic_Association + or else NT (N).Nkind = N_Iterated_Component_Association); Set_Flag15 (N, Val); end Set_Box_Present; @@ -5491,7 +5494,8 @@ package body Sinfo is (N : Node_Id; Val : List_Id) is begin pragma Assert (False - or else NT (N).Nkind = N_Component_Association); + or else NT (N).Nkind = N_Component_Association + or else NT (N).Nkind = N_Iterated_Component_Association); Set_List2 (N, Val); -- semantic field, no parent set end Set_Loop_Actions; |