This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] More complete information level for -gnatR4 output


This instructs -gnatR4 to also list the Etype of a user-declared record
subtype if it is compiler-generated, for example in:

package P is

   type U_Arr is array (Integer range <>) of Character;

   type Rec1 (D1, D2 : Integer) is record
      C : U_Arr (D1 .. D2);
   end record;

   type Rec_N is new Rec1 (1, 2);

end P;

Tested on x86_64-pc-linux-gnu, committed on trunk

2019-08-20  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* repinfo.adb (List_Record_Info): In -gnatR4 mode, set the
	relevant flag on the implicit base type of a record subtype.
--- gcc/ada/repinfo.adb
+++ gcc/ada/repinfo.adb
@@ -1681,6 +1681,15 @@ package body Repinfo is
          Write_Eol;
          Write_Line ("}");
       end if;
+
+      --  The type is relevant for a record subtype
+
+      if List_Representation_Info = 4
+        and then not Is_Base_Type (Ent)
+        and then Is_Itype (Etype (Ent))
+      then
+         Relevant_Entities.Set (Etype (Ent), True);
+      end if;
    end List_Record_Info;
 
    -------------------


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]