Commit 165eab5f by Arnaud Charlet

atree.adb: Add a fifth component to entities This allows us to add 32 flags and four new fields

	* atree.adb: Add a fifth component to entities
	This allows us to add 32 flags and four new fields

	* atree.ads: Add a fifth component to entities
	This allows us to add 32 flags and four new fields

	* einfo.ads, einfo.adb: Document new fields and new flags now available
	Add routines for printing new fields

	* treepr.adb: Call routines to print out additional fields if present

From-SVN: r92830
parent 5f3ab6fb
...@@ -209,6 +209,11 @@ package body Einfo is ...@@ -209,6 +209,11 @@ package body Einfo is
-- Privals_Chain Elist23 -- Privals_Chain Elist23
-- Protected_Operation Node23 -- Protected_Operation Node23
-- (unused) Node24
-- (unused) Node25
-- (unused) Node26
-- (unused) Node27
--------------------------------------------- ---------------------------------------------
-- Usage of Flags in Defining Entity Nodes -- -- Usage of Flags in Defining Entity Nodes --
--------------------------------------------- ---------------------------------------------
...@@ -421,6 +426,38 @@ package body Einfo is ...@@ -421,6 +426,38 @@ package body Einfo is
-- Must_Be_On_Byte_Boundary Flag183 -- Must_Be_On_Byte_Boundary Flag183
-- (unused) Flag153 -- (unused) Flag153
-- (unused) Flag184
-- (unused) Flag185
-- (unused) Flag186
-- (unused) Flag187
-- (unused) Flag188
-- (unused) Flag189
-- (unused) Flag190
-- (unused) Flag191
-- (unused) Flag192
-- (unused) Flag193
-- (unused) Flag194
-- (unused) Flag195
-- (unused) Flag196
-- (unused) Flag197
-- (unused) Flag198
-- (unused) Flag199
-- (unused) Flag200
-- (unused) Flag201
-- (unused) Flag202
-- (unused) Flag203
-- (unused) Flag204
-- (unused) Flag205
-- (unused) Flag206
-- (unused) Flag207
-- (unused) Flag208
-- (unused) Flag209
-- (unused) Flag210
-- (unused) Flag211
-- (unused) Flag212
-- (unused) Flag213
-- (unused) Flag214
-- (unused) Flag215
-------------------------------- --------------------------------
-- Attribute Access Functions -- -- Attribute Access Functions --
...@@ -6078,6 +6115,10 @@ package body Einfo is ...@@ -6078,6 +6115,10 @@ package body Einfo is
procedure W (Flag_Name : String; Flag : Boolean); procedure W (Flag_Name : String; Flag : Boolean);
-- Write out given flag if it is set -- Write out given flag if it is set
-------
-- W --
-------
procedure W (Flag_Name : String; Flag : Boolean) is procedure W (Flag_Name : String; Flag : Boolean) is
begin begin
if Flag then if Flag then
...@@ -7159,6 +7200,54 @@ package body Einfo is ...@@ -7159,6 +7200,54 @@ package body Einfo is
end case; end case;
end Write_Field23_Name; end Write_Field23_Name;
------------------------
-- Write_Field24_Name --
------------------------
procedure Write_Field24_Name (Id : Entity_Id) is
begin
case Ekind (Id) is
when others =>
Write_Str ("Field24??");
end case;
end Write_Field24_Name;
------------------------
-- Write_Field25_Name --
------------------------
procedure Write_Field25_Name (Id : Entity_Id) is
begin
case Ekind (Id) is
when others =>
Write_Str ("Field25??");
end case;
end Write_Field25_Name;
------------------------
-- Write_Field26_Name --
------------------------
procedure Write_Field26_Name (Id : Entity_Id) is
begin
case Ekind (Id) is
when others =>
Write_Str ("Field26??");
end case;
end Write_Field26_Name;
------------------------
-- Write_Field27_Name --
------------------------
procedure Write_Field27_Name (Id : Entity_Id) is
begin
case Ekind (Id) is
when others =>
Write_Str ("Field27??");
end case;
end Write_Field27_Name;
------------------------- -------------------------
-- Iterator Procedures -- -- Iterator Procedures --
------------------------- -------------------------
......
...@@ -5960,6 +5960,10 @@ package Einfo is ...@@ -5960,6 +5960,10 @@ package Einfo is
procedure Write_Field21_Name (Id : Entity_Id); procedure Write_Field21_Name (Id : Entity_Id);
procedure Write_Field22_Name (Id : Entity_Id); procedure Write_Field22_Name (Id : Entity_Id);
procedure Write_Field23_Name (Id : Entity_Id); procedure Write_Field23_Name (Id : Entity_Id);
procedure Write_Field24_Name (Id : Entity_Id);
procedure Write_Field25_Name (Id : Entity_Id);
procedure Write_Field26_Name (Id : Entity_Id);
procedure Write_Field27_Name (Id : Entity_Id);
-- These routines are used to output a nice symbolic name for the given -- These routines are used to output a nice symbolic name for the given
-- field, depending on the Ekind. No blanks or end of lines are output, -- field, depending on the Ekind. No blanks or end of lines are output,
-- just the characters of the field name. -- just the characters of the field name.
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2004 Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -539,8 +539,39 @@ package body Treepr is ...@@ -539,8 +539,39 @@ package body Treepr is
Print_Eol; Print_Eol;
end if; end if;
Write_Entity_Flags (Ent, Prefix); if Field_Present (Field24 (Ent)) then
Print_Str (Prefix);
Write_Field24_Name (Ent);
Write_Str (" = ");
Print_Field (Field24 (Ent));
Print_Eol;
end if;
if Field_Present (Field25 (Ent)) then
Print_Str (Prefix);
Write_Field25_Name (Ent);
Write_Str (" = ");
Print_Field (Field25 (Ent));
Print_Eol;
end if;
if Field_Present (Field26 (Ent)) then
Print_Str (Prefix);
Write_Field26_Name (Ent);
Write_Str (" = ");
Print_Field (Field26 (Ent));
Print_Eol;
end if;
if Field_Present (Field27 (Ent)) then
Print_Str (Prefix);
Write_Field27_Name (Ent);
Write_Str (" = ");
Print_Field (Field27 (Ent));
Print_Eol;
end if;
Write_Entity_Flags (Ent, Prefix);
end Print_Entity_Info; end Print_Entity_Info;
--------------- ---------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment