diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-07-23 08:48:01 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-07-23 08:48:01 +0000 |
commit | 3dbca0d576743f296f19099b4ad13a859c1cfb0f (patch) | |
tree | 3934ad8b42d16450bd0d088b678fbab04e0fc5bf /gcc/ada/exp_disp.ads | |
parent | 054247dd94bad885313b902187cb31d406c2ab6a (diff) | |
download | gcc-3dbca0d576743f296f19099b4ad13a859c1cfb0f.tar.gz |
2009-07-23 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
with test of coverage, to allow specific type objects in extended
returns of class-wide functions. Remove now-unnecessary special-case
tests that allowed this in certain cases of expanded extended returns.
2009-07-23 Javier Miranda <miranda@adacore.com>
* sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
N_Null_Statements (for SCIL nodes).
(Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
(Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
(Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
nodes).
(Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
* exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
associated with dispatching call.
(Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
(Make_DT, Make_Tags): Add generation of SCIL nodes associated with
initialization of dispatch tables and initialization of tags.
(New_Scil_Node): New function that creates a new SCIL node.
(Build_Init_Procedure): Add generation of SCIL node associated with the
initialization of tags done in the IP subprogram.
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* errout.adb (Error_Msg_NEL): If the entity in the initial message has
Warnings_Off, do not emit continuation messages.
* sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
spec.
2009-07-23 Emmanuel Briot <briot@adacore.com>
* ali.adb: Minor comment update
2009-07-23 Vasiliy Fofanov <fofanov@adacore.com>
* s-win32.ads (HANDLE): Define to be the same size as address type.
Fix copyright.
2009-07-23 Olivier Hainque <hainque@adacore.com>
* g-sse.ads: New file. Root of the SSE facilities trees, with
general description and common declarations.
* g-ssvety.ads: New file. Expose user level SSE vector types.
* impunit.adb (Non_Imp_File_Names_95): Register new units.
* gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2009-07-23 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Wordsmithing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149974 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_disp.ads')
-rw-r--r-- | gcc/ada/exp_disp.ads | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ada/exp_disp.ads b/gcc/ada/exp_disp.ads index 18f751d978d..fab99c28de7 100644 --- a/gcc/ada/exp_disp.ads +++ b/gcc/ada/exp_disp.ads @@ -30,6 +30,17 @@ with Types; use Types; package Exp_Disp is + ------------------------------- + -- SCIL Node Type Definition -- + ------------------------------- + + type Scil_Node_Kind is ( + Unused, + IP_Tag_Init, + Dispatching_Call, + Dispatch_Table_Object_Init, + Dispatch_Table_Tag_Init); + ------------------------------------- -- Predefined primitive operations -- ------------------------------------- @@ -215,6 +226,9 @@ package Exp_Disp is -- Otherwise they are set to the defining identifier and the subprogram -- body of the generated thunk. + function Get_Scil_Node_Kind (Node : Node_Id) return Scil_Node_Kind; + -- Returns the kind of an SCIL node + function Is_Predefined_Dispatching_Operation (E : Entity_Id) return Boolean; -- Ada 2005 (AI-251): Determines if E is a predefined primitive operation @@ -309,6 +323,15 @@ package Exp_Disp is -- tagged types this routine imports the forward declaration of the tag -- entity, that will be declared and exported by Make_DT. + function New_Scil_Node + (Nkind : Scil_Node_Kind; + Related_Node : Node_Id; + Entity : Entity_Id := Empty; + Target_Prim : Entity_Id := Empty) return Node_Id; + -- Creates a new Scil node. Related_Node is the AST node associated with + -- this Scil node. Entity is the tagged type associated with the Scil node. + -- For Dispatching_Call nodes, Target_Prim is the dispatching primitive. + function Register_Primitive (Loc : Source_Ptr; Prim : Entity_Id) return List_Id; |