[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 <ebotcazou@adacore.com> gcc/ada/ * repinfo.adb (Compute_Max_Length): Skip _Parent component. (List_Record_Layout): Likewise. From-SVN: r260819
This commit is contained in:
parent
500b21ddb7
commit
c8e95568a1
@ -1,3 +1,8 @@
|
||||
2018-05-28 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* repinfo.adb (Compute_Max_Length): Skip _Parent component.
|
||||
(List_Record_Layout): Likewise.
|
||||
|
||||
2018-05-28 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_util.adb (Is_Function_Result): Add a warning if a postcondition
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user