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.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-09-17 Javier Miranda <mira...@adacore.com>
gcc/ada/
* sem_ch3.adb (Constrain_Corresponding_Record): Propagate
attribute Is_Tagged_Type.
--- gcc/ada/sem_ch3.adb
+++ 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));