[Ada] Wrong handling of address clause for limited record type
commit919ca1262e7b9072ece9381821dd1ad4a8a48cee
authorpmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Sep 2018 09:16:49 +0000 (26 09:16 +0000)
committerpmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Sep 2018 09:16:49 +0000 (26 09:16 +0000)
tree784b824f3eb73fef6ee98fbc3e7a2dfbfbd4f130
parentfa7b13c3c0da205c43129873a63c01b041d3ff9c
[Ada] Wrong handling of address clause for limited record type

2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Adjust
code retrieving the address when a clause has already been
processed.
* gcc-interface/trans.c (gnat_to_gnu)
<N_Attribute_Definition_Clause>: For an object with a Freeze
node, build a meaningful expression.

gcc/testsuite/

* gnat.dg/addr12.adb, gnat.dg/addr12_a.adb,
gnat.dg/addr12_a.ads, gnat.dg/addr12_b.adb,
gnat.dg/addr12_b.ads, gnat.dg/addr12_c.ads: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264606 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/trans.c
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/addr12.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/addr12_a.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/addr12_a.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/addr12_b.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/addr12_b.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/addr12_c.ads [new file with mode: 0644]