summaryrefslogtreecommitdiff
path: root/gcc/ada/einfo.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-22 12:32:55 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-22 12:32:55 +0000
commit0b3c78566ba056b2852f16a78f389372a5b150dd (patch)
tree7cb9f8f954915f5b68ba7d9da22a412315e4439a /gcc/ada/einfo.adb
parent7d36c2e2257a08304f56f9eb8a3f635f3c37ecd7 (diff)
downloadgcc-0b3c78566ba056b2852f16a78f389372a5b150dd.tar.gz
2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb Node36 is now used as Anonymous_Master. Flag253 is now unused. (Anonymous_Master): New routine. (Has_Anonymous_Master): Removed. (Set_Anonymous_Master): New routine. (Set_Has_Anonymous_Master): Removed. (Write_Entity_Flags): Remove the output for Has_Anonymous_Maser. (Write_Field36_Name): Add output for Anonymous_Master. * einfo.ads Add new attribute Anonymous_Master along with occurrences in nodes. Remove attribute Has_Anonymous_Master along with occurrences in nodes. (Anonymous_Master): New routine along with pragma Inline. (Has_Anonymous_Master): Removed along with pragma Inline. (Set_Anonymous_Master): New routine along with pragma Inline. (Set_Has_Anonymous_Master): Removed along with pragma Inline. * exp_ch4.adb (Create_Anonymous_Master): New routine. (Current_Anonymous_Master): Reimplemented. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223550 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/einfo.adb')
-rw-r--r--gcc/ada/einfo.adb38
1 files changed, 21 insertions, 17 deletions
diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb
index 02433567e3c..1d8f4f43425 100644
--- a/gcc/ada/einfo.adb
+++ b/gcc/ada/einfo.adb
@@ -264,7 +264,8 @@ package body Einfo is
-- Import_Pragma Node35
- -- (unused) Node36
+ -- Anonymous_Master Node36
+
-- (unused) Node38
-- (unused) Node39
-- (unused) Node40
@@ -556,7 +557,6 @@ package body Einfo is
-- Has_Implicit_Dereference Flag251
-- Is_Processed_Transient Flag252
- -- Has_Anonymous_Master Flag253
-- Is_Implementation_Defined Flag254
-- Is_Predicate_Function Flag255
-- Is_Predicate_Function_M Flag256
@@ -594,6 +594,7 @@ package body Einfo is
-- Has_Volatile_Full_Access Flag285
-- Needs_Typedef Flag286
+ -- (unused) Flag253
-- (unused) Flag287
-- (unused) Flag288
-- (unused) Flag289
@@ -753,6 +754,12 @@ package body Einfo is
return Uint14 (Id);
end Alignment;
+ function Anonymous_Master (Id : E) return E is
+ begin
+ pragma Assert (Ekind_In (Id, E_Function, E_Package, E_Procedure));
+ return Node36 (Id);
+ end Anonymous_Master;
+
function Associated_Entity (Id : E) return E is
begin
return Node37 (Id);
@@ -1375,13 +1382,6 @@ package body Einfo is
return Flag79 (Id);
end Has_All_Calls_Remote;
- function Has_Anonymous_Master (Id : E) return B is
- begin
- pragma Assert
- (Ekind_In (Id, E_Function, E_Package, E_Package_Body, E_Procedure));
- return Flag253 (Id);
- end Has_Anonymous_Master;
-
function Has_Atomic_Components (Id : E) return B is
begin
return Flag86 (Implementation_Base_Type (Id));
@@ -3576,6 +3576,12 @@ package body Einfo is
Set_Elist16 (Id, V);
end Set_Access_Disp_Table;
+ procedure Set_Anonymous_Master (Id : E; V : E) is
+ begin
+ pragma Assert (Ekind_In (Id, E_Function, E_Package, E_Procedure));
+ Set_Node36 (Id, V);
+ end Set_Anonymous_Master;
+
procedure Set_Associated_Entity (Id : E; V : E) is
begin
Set_Node37 (Id, V);
@@ -4246,13 +4252,6 @@ package body Einfo is
Set_Flag79 (Id, V);
end Set_Has_All_Calls_Remote;
- procedure Set_Has_Anonymous_Master (Id : E; V : B := True) is
- begin
- pragma Assert
- (Ekind_In (Id, E_Function, E_Package, E_Package_Body, E_Procedure));
- Set_Flag253 (Id, V);
- end Set_Has_Anonymous_Master;
-
procedure Set_Has_Atomic_Components (Id : E; V : B := True) is
begin
pragma Assert (not Is_Type (Id) or else Is_Base_Type (Id));
@@ -8634,7 +8633,6 @@ package body Einfo is
W ("Has_Aliased_Components", Flag135 (Id));
W ("Has_Alignment_Clause", Flag46 (Id));
W ("Has_All_Calls_Remote", Flag79 (Id));
- W ("Has_Anonymous_Master", Flag253 (Id));
W ("Has_Atomic_Components", Flag86 (Id));
W ("Has_Biased_Representation", Flag139 (Id));
W ("Has_Completion", Flag26 (Id));
@@ -10121,6 +10119,12 @@ package body Einfo is
procedure Write_Field36_Name (Id : Entity_Id) is
begin
case Ekind (Id) is
+ when E_Function |
+ E_Operator |
+ E_Package |
+ E_Procedure =>
+ Write_Str ("Anonymous_Master");
+
when others =>
Write_Str ("Field36??");
end case;