trans.c (adjust_for_implicit_deref): New function.
authorEric Botcazou <ebotcazou@adacore.com>
Tue, 5 Sep 2017 08:54:14 +0000 (08:54 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 5 Sep 2017 08:54:14 +0000 (08:54 +0000)
commit806fcf7183377c7df062a7fa0bcf9d0ce8ea1fc0
tree684b70e6fa1324bfcc46054aefb1c77695912f6d
parente45f84a5f9cf7e31ae46c6c557f6896d0b1db5c2
trans.c (adjust_for_implicit_deref): New function.

* 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.

From-SVN: r251699
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]