sem_ch3.adb (Build_Derived_Enumeration_Type): Propagate aspect specfications from...
authorEd Schonberg <schonberg@adacore.com>
Fri, 17 Oct 2014 08:46:37 +0000 (08:46 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 17 Oct 2014 08:46:37 +0000 (10:46 +0200)
2014-10-17  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Build_Derived_Enumeration_Type): Propagate aspect
specfications from original type declaration to declaration of
implicit base, because original node is rewritten as a subtype
declaration on which type aspects do not belong.

From-SVN: r216373

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

index 549f7fbff133f7f0d12f20864e9d4be4d20b4e19..c5d6122afd28f03fdff3d431bb34152c8ddb77ac 100644 (file)
@@ -1,3 +1,10 @@
+2014-10-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Build_Derived_Enumeration_Type): Propagate aspect
+       specfications from original type declaration to declaration of
+       implicit base, because original node is rewritten as a subtype
+       declaration on which type aspects do not belong.
+
 2014-10-17  Hristian Kirtchev  <kirtchev@adacore.com>
 
        * sem_ch3.adb (Propagate_Default_Init_Cond_Attributes): A derived type
index 6f68580815793fd7095ae30a385a0e8ab28b8762..5cf186a66e1477bbfe747af4fb44a30c10319b5f 100644 (file)
@@ -6364,6 +6364,11 @@ package body Sem_Ch3 is
 
          Analyze (N);
 
+         --  Propagate the aspects from the original type declaration to the
+         --  declaration of the implicit base.
+
+         Move_Aspects (From => Original_Node (N), To => Type_Decl);
+
          --  Apply a range check. Since this range expression doesn't have an
          --  Etype, we have to specifically pass the Source_Typ parameter. Is
          --  this right???