diff options
author | Bob Duff <duff@adacore.com> | 2020-07-07 17:29:44 -0400 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-10-19 05:53:39 -0400 |
commit | 2bb7741fbeee2f4fd472cd7e9791ae0b54e7a2b4 (patch) | |
tree | e44af8ff8c94c46657a321a5050f7c367f367855 /gcc/ada/lib-xref.ads | |
parent | 08b0a5e2002f7f43d7f5aa3b55e7c6c22ec3926d (diff) | |
download | gcc-2bb7741fbeee2f4fd472cd7e9791ae0b54e7a2b4.zip gcc-2bb7741fbeee2f4fd472cd7e9791ae0b54e7a2b4.tar.gz gcc-2bb7741fbeee2f4fd472cd7e9791ae0b54e7a2b4.tar.bz2 |
[Ada] Expanded names in ghost assignments
gcc/ada/
* ghost.adb (Whole_Object_Ref): New function to compute the name
of the whole object.
(Mark_And_Set_Ghost_Assignment): Rewrite to use
Whole_Object_Ref. We need to partly analyze the left-hand side
in order to distinguish expanded names and record components.
* lib-xref.ads, lib-xref.adb (Deferred_References): Move table
to body, and add Defer_Reference to update the table, avoiding
duplicates.
(Generate_Reference): Avoid duplicates.
* sem_ch8.ads, sem_ch8.adb (Find_Direct_Name): Remove _OK
parameters, which are no longer needed. Ignore errors in
Ignore_Errors mode.
* sem_util.ads, sem_util.adb (Preanalyze_Without_Errors): Make
this public, so we can call it from Ghost.
* errout.ads, scng.adb, sem_prag.adb: Minor.
Diffstat (limited to 'gcc/ada/lib-xref.ads')
-rw-r--r-- | gcc/ada/lib-xref.ads | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/gcc/ada/lib-xref.ads b/gcc/ada/lib-xref.ads index 79dd57b..6a7a9e5 100644 --- a/gcc/ada/lib-xref.ads +++ b/gcc/ada/lib-xref.ads @@ -591,8 +591,8 @@ package Lib.Xref is -- 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 this table, then we deal with generating references later on when - -- we have sufficient information to do it right. + -- 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; @@ -600,13 +600,8 @@ package Lib.Xref is end record; -- One entry, E, N are as required for Generate_Reference call - package Deferred_References is new Table.Table ( - Table_Component_Type => Deferred_Reference_Entry, - Table_Index_Type => Int, - Table_Low_Bound => 0, - Table_Initial => 512, - Table_Increment => 200, - Table_Name => "Name_Deferred_References"); + 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. |