aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/lib-xref.ads
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2022-04-26 15:21:00 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2022-05-30 08:29:03 +0000
commitb341b8130f80c9acec384e7acc98283bccd349d2 (patch)
tree877fa8247a83be3f169c3d130028151e802b1598 /gcc/ada/lib-xref.ads
parent6a91be29578fa466376cd482d3abed5eb20685b4 (diff)
downloadgcc-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.ads34
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 --
-----------------------------