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));

Reply via email to