[Ada] Plug small hole in -gnatR output
The -gnatR switch outputs representation information for locally-defined types but it was skipping those defined in blocks without label, unlike those defined in named blocks. This change plugs this small hole. The following procedure: procedure P is begin declare type R is record I : Integer; end record; begin null; end; end; must now generate the following output with -gnatR: Representation information for unit P (body) -------------------------------------------- for B_1.R'Size use 32; for B_1.R'Alignment use 4; for B_1.R use record I at 0 range 0 .. 31; end record; 2018-05-29 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * repinfo.adb (List_Entities): Also recurse into blocks without label. From-SVN: r260884
This commit is contained in:
parent
3747db827d
commit
944e24a31a
@ -1,3 +1,7 @@
|
||||
2018-05-29 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* repinfo.adb (List_Entities): Also recurse into blocks without label.
|
||||
|
||||
2018-05-29 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* exp_ch6.adb (Expand_N_Subprogram_Body): Do not generate push/pop for
|
||||
|
@ -408,7 +408,12 @@ package body Repinfo is
|
||||
-- info for the full view). If debug flag A is set, then all
|
||||
-- entities are listed
|
||||
|
||||
if (Comes_From_Source (E)
|
||||
if ((Comes_From_Source (E)
|
||||
or else (Ekind (E) = E_Block
|
||||
and then
|
||||
Nkind (Parent (E)) = N_Implicit_Label_Declaration
|
||||
and then
|
||||
Comes_From_Source (Label_Construct (Parent (E)))))
|
||||
and then not Is_Incomplete_Or_Private_Type (E)
|
||||
and then not (Ekind (E) = E_Constant
|
||||
and then Present (Full_View (E))))
|
||||
|
Loading…
Reference in New Issue
Block a user