summaryrefslogtreecommitdiff
path: root/gcc/ada/scil_ll.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-23 06:50:13 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-23 06:50:13 +0000
commit1299d82443d00011e17d65cfd593f8a8acae22cb (patch)
tree2ec0a44a7df2f4c0418b8bc7e3d89f8f11b94c65 /gcc/ada/scil_ll.adb
parente69fef85b86bbd792475d5bb41ecb91a0ee84390 (diff)
downloadgcc-1299d82443d00011e17d65cfd593f8a8acae22cb.tar.gz
2010-06-23 Javier Miranda <miranda@adacore.com>
* atree.ads (Set_Reporting_Proc): New subprogram. * atree.adb: Remove dependency on packages Opt and SCIL_LL. (Allocate_Initialize_Node, Replace, Rewrite): Replace direct calls to routines of package Scil_ll by indirect call to the registered subprogram. (Set_Reporting_Proc): New subprogram. Used to register a subprogram that is invoked when a node is allocated, replaced or rewritten. * scil_ll.adb (Copy_SCIL_Node): New routine that takes care of copying the SCIL node. Used as argument for Set_Reporting_Proc. (Initialize): Register Copy_SCIL_Node as the reporting routine that is invoked by atree. 2010-06-23 Thomas Quinot <quinot@adacore.com> * sem_ch3.ads: Minor reformatting. 2010-06-23 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Package_Instantiation): In CodePeer mode, always analyze the generic body and instance, because it may be needed downstream. (Mark_Context): Prepend the with clauses for needed generic units, so they appear in a better order for CodePeer. * sem_util.adb, sem_util.ads: Prototype code for AI05-0144. 2010-06-23 Emmanuel Briot <briot@adacore.com> * prj.ads, prj-nmsc.adb (Error_Or_Warning): New subprogram. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161252 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/scil_ll.adb')
-rw-r--r--gcc/ada/scil_ll.adb14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ada/scil_ll.adb b/gcc/ada/scil_ll.adb
index 388abdb2885..4591d8ef287 100644
--- a/gcc/ada/scil_ll.adb
+++ b/gcc/ada/scil_ll.adb
@@ -37,6 +37,10 @@ with Table;
package body SCIL_LL is
+ procedure Copy_SCIL_Node (Target : Node_Id; Source : Node_Id);
+ -- Copy the SCIL field from Source to Target (it is used as the argument
+ -- for a call to Set_Reporting_Proc in package atree).
+
function SCIL_Nodes_Table_Size return Pos;
-- Used to initialize the table of SCIL nodes because we do not want
-- to consume memory for this table if it is not required.
@@ -64,6 +68,15 @@ package body SCIL_LL is
-- This table records the value of attribute SCIL_Node of all the
-- tree nodes.
+ --------------------
+ -- Copy_SCIL_Node --
+ --------------------
+
+ procedure Copy_SCIL_Node (Target : Node_Id; Source : Node_Id) is
+ begin
+ Set_SCIL_Node (Target, Get_SCIL_Node (Source));
+ end Copy_SCIL_Node;
+
----------------
-- Initialize --
----------------
@@ -71,6 +84,7 @@ package body SCIL_LL is
procedure Initialize is
begin
SCIL_Nodes.Init;
+ Set_Reporting_Proc (Copy_SCIL_Node'Access);
end Initialize;
-------------------