[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 2855751d857a58be922c2786bce526a1996cdc85..1d728fe17a7464031452e8e9e807316ffb473f3f 100644 (file)
@@ -1,3 +1,8 @@
+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
index 86b6e0d3d5901a2bba628146ca70d17308c134ed..257761abd7e81c6cfa627e0bd79270e346bc9bb7 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));