r266987 - in /trunk/gcc/ada: ChangeLog exp_ch7.adb

pmderodat@gcc.gnu.org pmderodat@gcc.gnu.org
Tue Dec 11 11:09:00 GMT 2018


Author: pmderodat
Date: Tue Dec 11 11:09:57 2018
New Revision: 266987

URL: https://gcc.gnu.org/viewcvs?rev=266987&root=gcc&view=rev
Log:
[Ada] Additionsal trasformations for unnesting in package bodies

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.

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.

Modified:
    trunk/gcc/ada/ChangeLog
    trunk/gcc/ada/exp_ch7.adb



More information about the Gcc-cvs mailing list