diff options
author | Javier Miranda <miranda@adacore.com> | 2022-04-01 20:06:27 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-05-18 08:41:05 +0000 |
commit | 337c80a6bcf248f021e9731bba7543fb5bfb3553 (patch) | |
tree | a6ea99d6150f44a042d63fdc207873b9f384599c /gcc/ada/einfo.ads | |
parent | 3c63f73051458b24298eb82ddd109bbc6a453464 (diff) | |
download | gcc-337c80a6bcf248f021e9731bba7543fb5bfb3553.zip gcc-337c80a6bcf248f021e9731bba7543fb5bfb3553.tar.gz gcc-337c80a6bcf248f021e9731bba7543fb5bfb3553.tar.bz2 |
[Ada] Ada2022: AI12-0143 Index attribute for entry families
gcc/ada/
* snames.ads-tmpl (Name_Index): New attribute name.
(Attribute_Id): Adding Attribute_Index as regular attribute.
* sem_attr.adb (Attribute_22): Adding Attribute_Index as Ada
2022 attribute.
(Analyze_Index_Attribute): Check that 'Index appears in a
pre-/postcondition aspect or pragma associated with an entry
family.
(Analyze_Attribute): Adding semantic analysis for 'Index.
(Eval_Attribute): Register 'Index as can never be folded.
(Resolve_Attribute): Resolve attribute 'Index.
* sem_ch9.adb (Check_Wrong_Attribute_In_Postconditions): New
subprogram.
(Analyze_Requeue): Check that the requeue target shall not have
an applicable specific or class-wide postcondition which
includes an Index attribute reference.
* exp_attr.adb (Expand_N_Attribute_Reference): Transform
attribute Index into a renaming of the second formal of the
wrapper built for an entry family that has contract cases.
* einfo.ads (Is_Entry_Wrapper): Complete documentation.
Diffstat (limited to 'gcc/ada/einfo.ads')
-rw-r--r-- | gcc/ada/einfo.ads | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads index 9fed73d..3f990c3 100644 --- a/gcc/ada/einfo.ads +++ b/gcc/ada/einfo.ads @@ -2599,7 +2599,8 @@ package Einfo is -- test for the need to replace references in Exp_Ch2. -- Is_Entry_Wrapper --- Defined on wrappers created for entries that have precondition aspects +-- Defined on wrappers created for entries that have precondition or +-- postcondition aspects. -- Is_Enumeration_Type (synthesized) -- Defined in all entities, true for enumeration types and subtypes |