From: Eric Botcazou Date: Mon, 28 May 2018 08:53:13 +0000 (+0000) Subject: [Ada] Minor tweak to output of -gnatR X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c8e95568a1fa2957eca057c659497aed2b58bfd3;p=gcc.git [Ada] Minor tweak to output of -gnatR This changes the output of -gnatR for extensions of tagged record types to avoid displaying the internal _Parent component, which overlaps with other components and is thus more confusing than helpful. For the following hierarchy: type R1 is tagged record I : Integer; end record; type R2 is new R1 with record C : Character; end record; the output -gnatR must now be: for R1'Object_Size use 128; for R1'Value_Size use 96; for R1'Alignment use 8; for R1 use record _Tag at 0 range 0 .. 63; I at 8 range 0 .. 31; end record; for R2'Object_Size use 192; for R2'Value_Size use 136; for R2'Alignment use 8; for R2 use record _Tag at 0 range 0 .. 63; I at 8 range 0 .. 31; C at 16 range 0 .. 7; end record; 2018-05-28 Eric Botcazou gcc/ada/ * repinfo.adb (Compute_Max_Length): Skip _Parent component. (List_Record_Layout): Likewise. From-SVN: r260819 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 6f08ad2efff..bea321400f3 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2018-05-28 Eric Botcazou + + * repinfo.adb (Compute_Max_Length): Skip _Parent component. + (List_Record_Layout): Likewise. + 2018-05-28 Ed Schonberg * sem_util.adb (Is_Function_Result): Add a warning if a postcondition diff --git a/gcc/ada/repinfo.adb b/gcc/ada/repinfo.adb index 07c034bf77c..38b2334b3de 100644 --- a/gcc/ada/repinfo.adb +++ b/gcc/ada/repinfo.adb @@ -915,6 +915,12 @@ package body Repinfo is goto Continue; end if; + -- Skip _Parent component in extension (to avoid overlap) + + if Chars (Comp) = Name_uParent then + goto Continue; + end if; + -- All other cases declare @@ -1010,6 +1016,12 @@ package body Repinfo is goto Continue; end if; + -- Skip _Parent component in extension (to avoid overlap) + + if Chars (Comp) = Name_uParent then + goto Continue; + end if; + -- All other cases declare