diff options
author | Javier Miranda <miranda@adacore.com> | 2023-11-17 17:08:56 +0000 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2023-11-30 11:12:47 +0100 |
commit | 44eddd691e54c4128904b7ea35bc05f8e3741877 (patch) | |
tree | 80a566ee9f84aafe2f31d8a64619b5a62b449aee /gcc/ada/sem_ch6.adb | |
parent | cff5ecd412493784d88a963da248ca9a1b0a9f64 (diff) | |
download | gcc-44eddd691e54c4128904b7ea35bc05f8e3741877.zip gcc-44eddd691e54c4128904b7ea35bc05f8e3741877.tar.gz gcc-44eddd691e54c4128904b7ea35bc05f8e3741877.tar.bz2 |
ada: Crash initializing component of private record type
The compiler may crash processing the full type declaration of a
private record type that initializes a component with a call to
a function instantiated in the private part of the package.
gcc/ada/
* freeze.adb (Declared_In_Expanded_Body): New subprogram.
(In_Expanded_Body): Minor code cleanup.
(Freeze_Expression): Code cleanup plus factorize in a new function
the code that identifies entities declared in the body of expander
generated subprograms, since such case must be checked also for
other node kinds when climbing the tree to locate the place to
insert the freezing node.
Diffstat (limited to 'gcc/ada/sem_ch6.adb')
0 files changed, 0 insertions, 0 deletions