diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2022-01-08 00:48:58 +0100 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-05-09 09:27:33 +0000 |
commit | 692a4bf88c5a4743bb5dca47b59a73a83add0fae (patch) | |
tree | 3bfbdb3694aedbd0611e0b435c7882f81e457533 /gcc/system.h | |
parent | 5081e9205a6f12c41bdd5a7d630a732120fb4e92 (diff) | |
download | gcc-692a4bf88c5a4743bb5dca47b59a73a83add0fae.zip gcc-692a4bf88c5a4743bb5dca47b59a73a83add0fae.tar.gz gcc-692a4bf88c5a4743bb5dca47b59a73a83add0fae.tar.bz2 |
[Ada] Fix internal error on declaration of derived discriminated record type
When the parent type has a variant part and the derived type is also
discriminated but statically selects a variant, the initialization
routine of the derived type may attempt to access components of other
variants that are no longer present.
gcc/ada/
* exp_ch4.adb (Handle_Changed_Representation): Simplify and fix
thinko in the loop building the constraints for discriminants.
* exp_ch5.adb (Make_Component_List_Assign): Try also to extract
discriminant values for a derived type.
Diffstat (limited to 'gcc/system.h')
0 files changed, 0 insertions, 0 deletions