[Ada] Transform_Function_Array issues

Pierre-Marie de Rodat derodat@adacore.com
Tue Dec 15 11:42:41 GMT 2020


As shown by ACATS c74209a, there are remaining cases where the
Transform_Function_Array does not trigger properly, related to private
types on one hand, and to freezing of function with no separate spec on
the other hand.

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

gcc/ada/

	* exp_ch6.adb (Build_Procedure_Body_Form): Adjust, the
	declaration of the procedure form is now insert before the
	original function body rather than after.
	(Expand_N_Subprogram_Declaration): Deal with private types whose
	full views are arrays.
	* exp_unst.adb (Unnest_Subprogram): Deal with private types.
	(Needs_Fat_Pointer): Code cleanup.
	* freeze.adb (Freeze_Subprogram): Ditto.
	* exp_util.adb (Build_Procedure_Form): Insert the procedure form
	decl before and not after.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build missing
	spec when needed for Transform_Function_Array.
	* sem_util.adb (Get_Fullest_View): Deal with null entity.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-diff
Size: 8318 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20201215/bf1c9d35/attachment.bin>


More information about the Gcc-patches mailing list