diff options
author | Javier Miranda <miranda@adacore.com> | 2019-09-17 07:59:58 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2019-09-17 07:59:58 +0000 |
commit | 01e44bfa81a3423d55e5d624e2c7241daedf44e4 (patch) | |
tree | 47d00eb918b1cc27f59a5dd7a3ba0a0abc1281a8 | |
parent | 327940801d612d563781e5b58063889d247058b4 (diff) | |
download | gcc-01e44bfa81a3423d55e5d624e2c7241daedf44e4.zip gcc-01e44bfa81a3423d55e5d624e2c7241daedf44e4.tar.gz gcc-01e44bfa81a3423d55e5d624e2c7241daedf44e4.tar.bz2 |
[Ada] Missing tagged type decoration in corresponding record subtypes
The frontend silently skips propagating attribute Is_Tagged_Type to the
constrained corresponding record subtype associated with a protected
type or task type with discriminants. This change does not affect the
functionality of the compiler; it leaves more clean the decoration of
internal entities.
2019-09-17 Javier Miranda <miranda@adacore.com>
gcc/ada/
* sem_ch3.adb (Constrain_Corresponding_Record): Propagate
attribute Is_Tagged_Type.
From-SVN: r275777
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/sem_ch3.adb | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 2855751..1d728fe 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,10 @@ 2019-09-17 Javier Miranda <miranda@adacore.com> + * sem_ch3.adb (Constrain_Corresponding_Record): Propagate + attribute Is_Tagged_Type. + +2019-09-17 Javier Miranda <miranda@adacore.com> + * exp_ch3.adb (Build_Record_Init_Proc): Do not generate code to adjust the tag component when the record is initialized with a raise expression. diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 86b6e0d..257761a 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -13750,6 +13750,7 @@ package body Sem_Ch3 is begin Set_Etype (T_Sub, Corr_Rec); Set_Has_Discriminants (T_Sub, Has_Discriminants (Prot_Subt)); + Set_Is_Tagged_Type (T_Sub, Is_Tagged_Type (Corr_Rec)); Set_Is_Constrained (T_Sub, True); Set_First_Entity (T_Sub, First_Entity (Corr_Rec)); Set_Last_Entity (T_Sub, Last_Entity (Corr_Rec)); |