[Ada] Missing tagged type decoration in corresponding record subtypes
authorJavier Miranda <miranda@adacore.com>
Tue, 17 Sep 2019 07:59:58 +0000 (07:59 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 17 Sep 2019 07:59:58 +0000 (07:59 +0000)
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

gcc/ada/ChangeLog
gcc/ada/sem_ch3.adb

index 2855751..1d728fe 100644 (file)
@@ -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.
index 86b6e0d..257761a 100644 (file)
@@ -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));