aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/snames.ads-tmpl
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2020-05-26 15:39:38 -0400
committerPierre-Marie de Rodat <derodat@adacore.com>2020-07-10 05:16:18 -0400
commit745f56989ead5d32b4016e39bf2656f23e2b16e7 (patch)
tree5bd171fd34ae57a8e0bd9d2d71f2111add18f5c6 /gcc/ada/snames.ads-tmpl
parent2f9821a09ac0c5f07ce621ef6a32acfdfa2e485e (diff)
downloadgcc-745f56989ead5d32b4016e39bf2656f23e2b16e7.zip
gcc-745f56989ead5d32b4016e39bf2656f23e2b16e7.tar.gz
gcc-745f56989ead5d32b4016e39bf2656f23e2b16e7.tar.bz2
[Ada] Part of implementation of AI12-0212: container aggregates
gcc/ada/ * aspects.ads: Add Aspect_Aggregate. * exp_aggr.adb (Expand_Container_Aggregate): Expand positional container aggregates into separate initialization and insertion operations. * sem_aggr.ads (Resolve_Container_Aggregate): New subprogram. * sem_aggr.adb (Resolve_Container_Aggregate): Parse aspect aggregate, establish element types and key types if present, and resolve aggregate components. * sem_ch13.ads (Parse_Aspect_Aggregate): Public subprogram used in validation, resolution and expansion of container aggregates * sem_ch13.adb (Parse_Aspect_Aggregate): Retrieve names of primitives specified in aspect specification. (Validate_Aspect_Aggregate): Check legality of specified operations given in aspect specification, before nane resolution. (Resolve_Aspect_Aggregate): At freeze point resolve operations and verify that given operations have the required profile. * sem_res.adb (Resolve): Call Resolve_Aspect_Aggregate if aspect is present for type. * snames.ads-tmpl: Add names used in aspect Aggregate: Empty, Add_Named, Add_Unnamed, New_Indexed, Assign_Indexed.
Diffstat (limited to 'gcc/ada/snames.ads-tmpl')
-rw-r--r--gcc/ada/snames.ads-tmpl9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/snames.ads-tmpl b/gcc/ada/snames.ads-tmpl
index 0e807b0..c26ac32 100644
--- a/gcc/ada/snames.ads-tmpl
+++ b/gcc/ada/snames.ads-tmpl
@@ -1550,6 +1550,15 @@ package Snames is
Name_Reference_Control_Type : constant Name_Id := N + $;
Name_Get_Element_Access : constant Name_Id := N + $;
+ -- Names for Ada2020 Aggregate aspect. Nmme_Aggregate is already
+ -- present for gprbuild.
+
+ Name_Empty : constant Name_Id := N + $;
+ Name_Add_Named : constant Name_Id := N + $;
+ Name_Add_Unnamed : constant Name_Id := N + $;
+ Name_New_Indexed : constant Name_Id := N + $;
+ Name_Assign_Indexed : constant Name_Id := N + $;
+
-- Ada 2005 reserved words
First_2005_Reserved_Word : constant Name_Id := N + $;