diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-31 15:39:17 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-31 15:39:17 +0000 |
commit | 615d1802c030bde9cfd70e85d3f163287bd3ebc1 (patch) | |
tree | cf41dba58aade03b495fc9aee9e400ce1e93476c /gcc/ada/lib-xref.adb | |
parent | 3fc9e843ec5f97c72309b3838363d9ef79cc1b40 (diff) | |
download | gcc-615d1802c030bde9cfd70e85d3f163287bd3ebc1.tar.gz |
2014-01-31 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb: Minor reformatting.
2014-01-31 Robert Dewar <dewar@adacore.com>
* exp_ch2.adb: New calling sequence for Is_LHS.
* frontend.adb: Add call to Process_Deferred_References.
* lib-xref.ads, lib-xref.adb (Process_Deferred_References): New.
(Deferred_References): New table.
* sem_ch8.adb (Find_Direct_Name): Make deferred reference table
entries.
(Find_Expanded_Name): Ditto.
* sem_res.adb: New calling sequence for Is_LHS.
* sem_util.ads, sem_util.adb (Is_LHS): New calling sequence.
* sem_warn.adb: Call Process_Deferred_References before issuing
warnings.
2014-01-31 Tristan Gingold <gingold@adacore.com>
* exp_util.adb (Corresponding_Runtime_Package): Restrict the
use of System_Tasking_Protected_Objects_Single_Entry.
* exp_ch9.adb (Build_Simple_Entry_Call): Remove Mode parameter
of Protected_Single_Entry_Call.
(Expand_N_Timed_Entry_Call): Remove single_entry case.
* exp_disp.adb (Make_Disp_Asynchronous_Select_Body): Remove
single_entry case.
(Make_Disp_Timed_Select_Body): Likewise.
* rtsfind.ads (RE_Timed_Protected_Single_Entry_Call): Remove.
* s-tposen.adb (Send_Program_Error, PO_Do_Or_Queue): Remove
Self_Id parameter.
(Wakeup_Entry_Caller): Remove Self_ID and New_State parameters.
(Wait_For_Completion_With_Timeout): Remove.
(Protected_Single_Entry_Call): Remove Mode parameter
(always Simple_Call).
(Service_Entry): Remove Self_Id constant (not used anymore).
(Timed_Protected_Single_Entry_Call): Remove.
* s-tposen.ads (Timed_Protected_Single_Entry_Call): Remove.
(Protected_Single_Entry_Call): Remove Mode parameter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207349 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/lib-xref.adb')
-rw-r--r-- | gcc/ada/lib-xref.adb | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/gcc/ada/lib-xref.adb b/gcc/ada/lib-xref.adb index 67739211abc..034e67af928 100644 --- a/gcc/ada/lib-xref.adb +++ b/gcc/ada/lib-xref.adb @@ -1705,8 +1705,8 @@ package body Lib.Xref is end loop; end Handle_Orphan_Type_References; - -- Now we have all the references, including those for any embedded - -- type references, so we can sort them, and output them. + -- Now we have all the references, including those for any embedded type + -- references, so we can sort them, and output them. Output_Refs : declare @@ -2563,6 +2563,38 @@ package body Lib.Xref is end Output_Refs; end Output_References; + --------------------------------- + -- Process_Deferred_References -- + --------------------------------- + + procedure Process_Deferred_References is + begin + for J in Deferred_References.First .. Deferred_References.Last loop + declare + D : Deferred_Reference_Entry renames Deferred_References.Table (J); + + begin + case Is_LHS (D.N) is + when Yes => + Generate_Reference (D.E, D.N, 'm'); + + when No => + Generate_Reference (D.E, D.N, 'r'); + + -- Not clear if Unknown can occur at this stage, but if it + -- does we will treat it as a normal reference. + + when Unknown => + Generate_Reference (D.E, D.N, 'r'); + end case; + end; + end loop; + + -- Clear processed entries from table + + Deferred_References.Init; + end Process_Deferred_References; + -- Start of elaboration for Lib.Xref begin |