[Ada] Additionsal trasformations for unnesting in package bodies
Pierre-Marie de Rodat
derodat@adacore.com
Tue Dec 11 11:32:00 GMT 2018
This patch extends the previous algorithm for creating an explicit
elaboration procedure for a package body when expansion generates
subprograms in the statement part of the body. For unnesting to work
properly, these subprograms must appear within an explicit subprogram
body so that uplevel references can be placed in the proper activation
record.
Ongoing work for LLVM generation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2018-12-11 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* exp_ch7.adb (Check_Unnesting_Elaboration_Code): Extend
algorithm to cover subprograms generated in nested loops and in
exception handlers, in order to build an explicit elaboration
procedure in more complex cases.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-diff
Size: 5418 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20181211/331c98b5/attachment.bin>
More information about the Gcc-patches
mailing list