diff options
author | Ed Schonberg <schonberg@adacore.com> | 2018-11-14 11:40:59 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2018-11-14 11:40:59 +0000 |
commit | 302319e08c092b95b31c2aaa7763cc0e54ae0813 (patch) | |
tree | 6484576740debd61818cdd2adb184f0b3196b69e /gcc/ada/env.c | |
parent | c1514eb060c72193a17b22467428d5e0d0b76ffb (diff) | |
download | gcc-302319e08c092b95b31c2aaa7763cc0e54ae0813.zip gcc-302319e08c092b95b31c2aaa7763cc0e54ae0813.tar.gz gcc-302319e08c092b95b31c2aaa7763cc0e54ae0813.tar.bz2 |
[Ada] Unnesting transformations for blocks in package bodies
The declarations in the package body may have created blocks with nested
subprograms. Such a block must be transformed into a procedure followed
by a call to it, so that unnesting can handle uplevel references within
these nested subprograms (typically generated subprograms to handle
finalization actions).
2018-11-14 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* exp_ch7.adb (Check_Unnesting_In_Declarations): New procedure
to transform blocks that appear in the declarative part of a
package body into subprograms if they contain generated
subprograms (such as finalization routines). Needed to generate
the proper upward references in unnesting mode.
From-SVN: r266117
Diffstat (limited to 'gcc/ada/env.c')
0 files changed, 0 insertions, 0 deletions