]> git.ipfire.org Git - thirdparty/gcc.git/commit
sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a limited view may...
authorEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 22 May 2017 09:24:24 +0000 (09:24 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 22 May 2017 09:24:24 +0000 (09:24 +0000)
commitd327113612c1b089eee87f04cd517b7f7103c1ea
tree5b660c58c813d8aea1e713136d95cb2b70afe62d
parent4c24ec6d58db238f64bda456ebdb0b5c82347d78
sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a limited view may appear in the profile of...

* sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a
limited view may appear in the profile of a function, and a call to
that function in another unit in which the full view is available must
use this full view to spurious type errors at the point of call.
* inline.adb (Analyze_Inlined_Bodies): Remove restriction on loading
of parent body with a with clause for the main unit.
* gcc-interface/decl.c (defer_limited_with_list): Document new usage.
(gnat_to_gnu_entity) <E_Access_Type>: Handle completed Taft Amendment
types declared in external units like types from limited with clauses.
Adjust final processing of defer_limited_with_list accordingly.
* gcc-interface/trans.c (gnat_to_gnu) < N_Selected_Component>: Try
again to translate the prefix after the field if it is incomplete.

From-SVN: r248321
14 files changed:
gcc/ada/ChangeLog
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/trans.c
gcc/ada/inline.adb
gcc/ada/sem_ch4.adb
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/limited_with5.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/limited_with5.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/limited_with5_pkg.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/limited_with5_pkg.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/limited_with6.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/limited_with6.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/limited_with6_pkg.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/limited_with6_pkg.ads [new file with mode: 0644]