diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2022-04-26 15:21:00 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-05-30 08:29:03 +0000 |
commit | b341b8130f80c9acec384e7acc98283bccd349d2 (patch) | |
tree | 877fa8247a83be3f169c3d130028151e802b1598 /gcc/ada/lib-xref.ads | |
parent | 6a91be29578fa466376cd482d3abed5eb20685b4 (diff) | |
download | gcc-b341b8130f80c9acec384e7acc98283bccd349d2.zip gcc-b341b8130f80c9acec384e7acc98283bccd349d2.tar.gz gcc-b341b8130f80c9acec384e7acc98283bccd349d2.tar.bz2 |
[Ada] Deconstruct deferred references
While cleaning up and modifying code for unreferenced warnings we
removed all calls to Defer_Reference, which was the only routine that
populated the Deferred_References table. Consequently, all the code
related to this table became dead.
gcc/ada/
* lib-xref.ads (Deferred_Reference_Entry, Defer_Reference,
Process_Deferred_References, Has_Deferred_Reference): Remove
client API.
* lib-xref.adb (Deferred_References, Defer_Reference,
Has_Deferred_Reference, Process_Deferred_References): Remove
implementation.
* frontend.adb, sem_ch11.adb, sem_ch5.adb, sem_res.adb,
sem_util.adb, sem_warn.adb: Remove uses of Deferred_References.
Diffstat (limited to 'gcc/ada/lib-xref.ads')
-rw-r--r-- | gcc/ada/lib-xref.ads | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/gcc/ada/lib-xref.ads b/gcc/ada/lib-xref.ads index 729acd3..977446a 100644 --- a/gcc/ada/lib-xref.ads +++ b/gcc/ada/lib-xref.ads @@ -578,40 +578,6 @@ package Lib.Xref is -- Export at line 4, that its body is exported to C, and that the link name -- as given in the pragma is "here". - ------------------------- - -- Deferred_References -- - ------------------------- - - -- Normally we generate references as we go along, but as discussed in - -- Sem_Util.Is_LHS, and Sem_Ch8.Find_Direct_Name/Find_Selected_Component, - -- we have one case where that is tricky, which is when we have something - -- like X.A := 3, where we don't know until we know the type of X whether - -- this is a reference (if X is an access type, so what we really have is - -- X.all.A := 3) or a modification, where X is not an access type. - - -- What we do in such cases is to gather nodes, where we would have liked - -- to call Generate_Reference but we couldn't because we didn't know enough - -- into a table, then we deal with generating references later on when we - -- have sufficient information to do it right. - - type Deferred_Reference_Entry is record - E : Entity_Id; - N : Node_Id; - end record; - -- One entry, E, N are as required for Generate_Reference call - - procedure Defer_Reference (Deferred_Reference : Deferred_Reference_Entry); - -- Add one entry to the deferred reference table - - procedure Process_Deferred_References; - -- This procedure is called from Frontend to process these table entries. - -- It is also called from Sem_Warn. - - function Has_Deferred_Reference (Ent : Entity_Id) return Boolean; - -- Determine whether arbitrary entity Ent has a pending reference in order - -- to suppress premature warnings about useless assignments. See comments - -- in Analyze_Assignment in sem_ch5.adb. - ----------------------------- -- SPARK Xrefs Information -- ----------------------------- |