[Ada] Suppress Base_Address call on init of activation record components
authorGary Dismukes <dismukes@adacore.com>
Fri, 13 Dec 2019 09:04:28 +0000 (09:04 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Fri, 13 Dec 2019 09:04:28 +0000 (09:04 +0000)
commit47997d257aaaac802d5857c898a4a3ef38e9e65a
tree5b298bf70c5b61ae3a47a1c087dce3adda9bd088
parentbe3614c740f91caf593e77b7138e65013fc0487b
[Ada] Suppress Base_Address call on init of activation record components

2019-12-13  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

* exp_attr.adb (Expand_N_Attribute_Reference,
Attribute_Address): Suppress generation of a call to
Base_Address in the case where the Address attribute is being
used to initialize a corresponding component of an activation
record.
(Is_Unnested_Component_Init): New function to determine whether
an attribute reference for Address is used to initialized a
component of an activation record object that corresponds to the
object denoted by the prefix of the attribute (an assignment
used in support of unnesting for back ends like LLVM).

From-SVN: r279353
gcc/ada/ChangeLog
gcc/ada/exp_attr.adb