[Ada] Mark extended return of unconstrained type as never inlined

Pierre-Marie de Rodat derodat@adacore.com
Mon Jun 11 09:22:00 GMT 2018


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.

Tested on x86_64-pc-linux-gnu, committed on trunk

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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-diff
Size: 3585 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20180611/b9f10d3b/attachment.bin>


More information about the Gcc-patches mailing list