]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Implement new experimental attribute 'Super
authorJustin Squirek <squirek@adacore.com>
Sun, 25 Feb 2024 19:30:01 +0000 (19:30 +0000)
committerMarc Poulhiès <poulhies@adacore.com>
Thu, 16 May 2024 08:49:33 +0000 (10:49 +0200)
commit568c79570a569256d6191e20a6491ba304b28a04
treec9809f935959475e8ec3f5a1e286c9b4562ad04e
parent33ae453d6836d94f8bcf28f414ce1b4e2e8b9111
ada: Implement new experimental attribute 'Super

This patch implements (under -gnatX0) the 'Super attribute which can be
applied to tagged objects in order to get a view conversion to their
immediate parent.

gcc/ada/

* doc/gnat_rm/implementation_defined_attributes.rst: Add entry for
Super attribute.
* accessibility.adb (Accessibility_Level): Add handling for Super.
* exp_attr.adb (Expand_N_Attribute_Reference): Add entry for
Super.
* sem_attr.adb (Analyze_Attribute): Create a case to handle the
semantic checking and expansion for Super.
(Eval_Attribute): Add entry for Super.
* sem_attr.ads: Add entry for Super.
* sem_util.adb (Is_Aliased_View, Is_Variable): Add case to handle
references to 'Super.
* snames.ads-tmpl: Register Name_Super and Attribute_Super.
* gnat_rm.texi: Regenerate.
gcc/ada/accessibility.adb
gcc/ada/doc/gnat_rm/implementation_defined_attributes.rst
gcc/ada/exp_attr.adb
gcc/ada/gnat_rm.texi
gcc/ada/sem_attr.adb
gcc/ada/sem_attr.ads
gcc/ada/sem_util.adb
gcc/ada/snames.ads-tmpl