From 01e44bfa81a3423d55e5d624e2c7241daedf44e4 Mon Sep 17 00:00:00 2001 From: Javier Miranda Date: Tue, 17 Sep 2019 07:59:58 +0000 Subject: [PATCH] [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 gcc/ada/ * sem_ch3.adb (Constrain_Corresponding_Record): Propagate attribute Is_Tagged_Type. From-SVN: r275777 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/sem_ch3.adb | 1 + 2 files changed, 6 insertions(+) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 2855751d857..1d728fe17a7 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-09-17 Javier Miranda + + * sem_ch3.adb (Constrain_Corresponding_Record): Propagate + attribute Is_Tagged_Type. + 2019-09-17 Javier Miranda * exp_ch3.adb (Build_Record_Init_Proc): Do not generate code to diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 86b6e0d3d59..257761abd7e 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)); -- 2.30.2