diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-07-29 08:43:58 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-07-29 08:43:58 +0000 |
commit | ef40be71e0683d4d602f3b4754d5337e9de6a041 (patch) | |
tree | fa0421e7d4dace9225998210eef8f448dfa1dbf2 /gcc/ada/frontend.adb | |
parent | b8340ddc5b54f3dc851579e5b5805a136e44a176 (diff) | |
download | gcc-ef40be71e0683d4d602f3b4754d5337e9de6a041.tar.gz |
2009-07-29 Javier Miranda <miranda@adacore.com>
* frontend.adb (Frontend): Code cleanup.
* exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
Rewriten as a procedure because it a new out-mode parameters to
keep up-to-date the controlling tag node in the caller.
(Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
new out-mode parameter to keep up-to-date the controlling tag node in
the caller.
* exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
package Sem_SCIL.
* sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
available in new package Sem_SCIL.
(Next_Non_SCIL_Node): Ditto.
* exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
package Sem_SCIL.
(Expand_Dispatching_Call): Update call to modified Exp_Atags routines
plus complete decoration of SCIL dispatching node.
(Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
* exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
package Sem_SCIL.
(Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
* exp_ch3.adb (Build_Init_Procedure): Fix comment.
* sem_scil.ads, sem_scil.adb: New files.
* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150199 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/frontend.adb')
-rw-r--r-- | gcc/ada/frontend.adb | 39 |
1 files changed, 3 insertions, 36 deletions
diff --git a/gcc/ada/frontend.adb b/gcc/ada/frontend.adb index 8cb372a2552..581d977436a 100644 --- a/gcc/ada/frontend.adb +++ b/gcc/ada/frontend.adb @@ -46,12 +46,13 @@ with Prep; with Prepcomp; with Restrict; use Restrict; with Rident; use Rident; -with Rtsfind; +with Rtsfind; use Rtsfind; with Sprint; with Scn; use Scn; with Sem; use Sem; with Sem_Aux; with Sem_Ch8; use Sem_Ch8; +with Sem_SCIL; with Sem_Elab; use Sem_Elab; with Sem_Prag; use Sem_Prag; with Sem_Warn; use Sem_Warn; @@ -63,40 +64,6 @@ with Tbuild; use Tbuild; with Types; use Types; procedure Frontend is - - -- Comment: I think SCIL processing is gettings scattered too much, this - -- is a good case, why should the top level frontend driver be doing stuff - -- at this level, seems wrong to me. I think we should introduce a new - -- unit Sem_SCIL, and move a lot of this SCIL stuff there. ??? - - function Check_SCIL_Node (N : Node_Id) return Traverse_Result; - -- Process a single node during the tree traversal, verifying that field - -- SCIL_Related_Node of SCIL dispatching call nodes reference subprogram - -- calls. - - procedure Check_SCIL_Nodes is new Traverse_Proc (Check_SCIL_Node); - -- The traversal procedure itself - - --------------------- - -- Check_SCIL_Node -- - --------------------- - - function Check_SCIL_Node (N : Node_Id) return Traverse_Result is - begin - if Nkind (N) = N_SCIL_Dispatching_Call then - if not Nkind_In (SCIL_Related_Node (N), N_Function_Call, - N_Procedure_Call_Statement) - then - pragma Assert (False); - raise Program_Error; - end if; - - return Skip; - else - return OK; - end if; - end Check_SCIL_Node; - Config_Pragmas : List_Id; -- Gather configuration pragmas @@ -404,7 +371,7 @@ begin -- dispatching calls reference subprogram calls. if Generate_SCIL then - pragma Debug (Check_SCIL_Nodes (Cunit (Main_Unit))); + pragma Debug (Sem_SCIL.Check_SCIL_Nodes (Cunit (Main_Unit))); null; end if; |