]> git.ipfire.org Git - thirdparty/gcc.git/commit
[Ada] Mark extended return of unconstrained type as never inlined
authorpmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 11 Jun 2018 09:18:07 +0000 (09:18 +0000)
committerpmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 11 Jun 2018 09:18:07 +0000 (09:18 +0000)
commit676f148c2dbea35fd00f4e502299fd0167675b1b
tree5a2b796ed08da66e41ee1774040e60cea304e044
parent265ffd2d7df06508bcc57f2ed8fc1792d92d1eda
[Ada] Mark extended return of unconstrained type as never inlined

Calls to subprograms whose body was an extended return of an unconstrained
type were marked as not inlined, while the subprogram itself was marked as
always inlined. This was inconsistent and could lead to crash in GNATprove.
Now such subprograms are marked as not candidates for inlining.

This mostly impacts GNATprove, as it relates to frontend inlining which is
not used anymore in normal compilation.

2018-06-11  Yannick Moy  <moy@adacore.com>

gcc/ada/

* inline.adb (Build_Body_To_Inline): Consider case of extended return
of unconstrained type as one case where inlining is not supported.
(Expand_Inlined_Call): Remove special case for body as extended return
of unconstrained type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261413 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/inline.adb