[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Wed, 4 Mar 2015 11:51:48 +0000 (12:51 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 4 Mar 2015 11:51:48 +0000 (12:51 +0100)
2015-03-04  Robert Dewar  <dewar@adacore.com>

* atree.h: Add entries for Flag287-Flag309.
* einfo.adb: Add (unused) flags Flag287-Flag309.

2015-03-04  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Collect_Interfaces, Collect): When gathering
interfaces of ancestors, handle properly a subtype of a private
extension.

From-SVN: r221183

gcc/ada/ChangeLog
gcc/ada/atree.h
gcc/ada/einfo.adb
gcc/ada/sem_util.adb

index 386ae314f26ef09b44342fcf0bf5439ee1579ccf..5c3816b40998e7da7bd7a9d1f337b8775cc885bf 100644 (file)
@@ -1,3 +1,14 @@
+2015-03-04  Robert Dewar  <dewar@adacore.com>
+
+       * atree.h: Add entries for Flag287-Flag309.
+       * einfo.adb: Add (unused) flags Flag287-Flag309.
+
+2015-03-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Collect_Interfaces, Collect): When gathering
+       interfaces of ancestors, handle properly a subtype of a private
+       extension.
+
 2015-03-04  Robert Dewar  <dewar@adacore.com>
 
        * einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
index 170bd959a6441fc82b3e2e42c351cf878e68217b..dadfce041f49f7ad56fee19e39d0d4c076e147f5 100644 (file)
@@ -847,6 +847,29 @@ extern Node_Id Current_Error_Node;
 #define Flag284(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag284)
 #define Flag285(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag285)
 #define Flag286(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag286)
+#define Flag287(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.in_list)
+#define Flag288(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.has_aspects)
+#define Flag289(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.rewrite_ins)
+#define Flag290(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.analyzed
+#define Flag291(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.c_f_s)
+#define Flag292(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.error_posted)
+#define Flag293(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag4)
+#define Flag294(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag5)
+#define Flag295(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag6)
+#define Flag296(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag7)
+#define Flag297(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag8)
+#define Flag298(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag9)
+#define Flag299(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag10)
+#define Flag300(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag11)
+#define Flag301(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag12)
+#define Flag302(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag13)
+#define Flag303(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag14)
+#define Flag304(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag15)
+#define Flag305(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag16)
+#define Flag306(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag17)
+#define Flag307(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag18)
+#define Flag308(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.pflag1)
+#define Flag309(N)     (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.pflag2)
 
 #ifdef __cplusplus
 }
index 95776dad601524a7bbcb27e64afe15ca766cb2be..0961b2d708ef536e10e309517b549084e5bd8d36 100644 (file)
@@ -584,12 +584,26 @@ package body Einfo is
    --    Is_Static_Type                  Flag281
    --    Has_Nested_Subprogram           Flag282
    --    Uplevel_Reference_Noted         Flag283
-
    --    Is_ARECnF_Entity                Flag284
+
    --    (unused)                        Flag285
    --    (unused)                        Flag286
-
-   --  Note: Flag287-317 are defined in atree.ads/adb, but not yet in atree.h
+   --    (unused)                        Flag287
+   --    (unused)                        Flag288
+   --    (unused)                        Flag289
+   --    (unused)                        Flag300
+
+   --    (unused)                        Flag301
+   --    (unused)                        Flag302
+   --    (unused)                        Flag303
+   --    (unused)                        Flag304
+   --    (unused)                        Flag305
+   --    (unused)                        Flag306
+   --    (unused)                        Flag307
+   --    (unused)                        Flag308
+   --    (unused)                        Flag309
+
+   --  Note: Flag310-317 are defined in atree.ads/adb, but not yet in atree.h
 
    -----------------------
    -- Local subprograms --
index e048e216be9b0d7788d5c94589242855b602bec5..724a9ae87ba49d04da63ec25154be2021c132c95 100644 (file)
@@ -3516,13 +3516,17 @@ package body Sem_Util is
       begin
          Full_T := Typ;
 
-         --  Handle private types
+         --  Handle private types and subtypes
 
          if Use_Full_View
            and then Is_Private_Type (Typ)
            and then Present (Full_View (Typ))
          then
             Full_T := Full_View (Typ);
+
+            if Ekind (Full_T) = E_Record_Subtype then
+               Full_T := Full_View (Etype (Typ));
+            end if;
          end if;
 
          --  Include the ancestor if we are generating the whole list of
@@ -15147,7 +15151,7 @@ package body Sem_Util is
 
                   --  If the entity is the loop variable in an iteration over
                   --  a container, retrieve container expression to indicate
-                  --  possible modificastion.
+                  --  possible modification.
 
                   if Present (Related_Expression (Ent))
                     and then Nkind (Parent (Related_Expression (Ent))) =