[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