* gcc-interface/trans.c (adjust_for_implicit_deref): New function.
commit0870dec2cbd94a3d061b39dcc453620aa45e296f
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Sep 2017 08:54:14 +0000 (5 08:54 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Sep 2017 08:54:14 +0000 (5 08:54 +0000)
tree684b70e6fa1324bfcc46054aefb1c77695912f6d
parentf7c0889d898bb3df89e45c7858919db4398f9e00
* gcc-interface/trans.c (adjust_for_implicit_deref): New function.
(gnat_to_gnu) <N_Explicit_Dereference>: Translate result type first.
(N_Indexed_Component): Invoke adjust_for_implicit_deref on the prefix.
(N_Slice): Likewise.
(N_Selected_Component): Likewise.  Do not try again to translate it.
(N_Free_Statement): Invoke adjust_for_implicit_deref on the expression.

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