[Ada] More complete information level for -gnatR4 output
diff mbox series

Message ID 20190820095122.GA75470@adacore.com
State New
Headers show
Series
  • [Ada] More complete information level for -gnatR4 output
Related show

Commit Message

Pierre-Marie de Rodat Aug. 20, 2019, 9:51 a.m. UTC
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.

Patch
diff mbox series

--- 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;
 
    -------------------