summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_tss.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/exp_tss.ads')
-rw-r--r--gcc/ada/exp_tss.ads18
1 files changed, 14 insertions, 4 deletions
diff --git a/gcc/ada/exp_tss.ads b/gcc/ada/exp_tss.ads
index 07415fcf71f..d6a18fb1bfe 100644
--- a/gcc/ada/exp_tss.ads
+++ b/gcc/ada/exp_tss.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -84,6 +84,7 @@ package Exp_Tss is
TSS_Composite_Equality : constant TNT := "EQ"; -- Composite Equality
TSS_From_Any : constant TNT := "FA"; -- PolyORB/DSA From_Any
TSS_Init_Proc : constant TNT := "IP"; -- Initialization Procedure
+ TSS_CPP_Init_Proc : constant TNT := "IC"; -- Init C++ dispatch tables
TSS_RAS_Access : constant TNT := "RA"; -- RAS type access
TSS_RAS_Dereference : constant TNT := "RD"; -- RAS type dereference
TSS_Rep_To_Pos : constant TNT := "RP"; -- Rep to Pos conversion
@@ -104,6 +105,7 @@ package Exp_Tss is
TSS_Composite_Equality,
TSS_From_Any,
TSS_Init_Proc,
+ TSS_CPP_Init_Proc,
TSS_RAS_Access,
TSS_RAS_Dereference,
TSS_Rep_To_Pos,
@@ -140,15 +142,18 @@ package Exp_Tss is
function Make_Init_Proc_Name (Typ : Entity_Id) return Name_Id;
-- Version for init procs, same as Make_TSS_Name (Typ, TSS_Init_Proc)
+ function Is_CPP_Init_Proc (E : Entity_Id) return Boolean;
+ -- Version for CPP init procs, same as Is_TSS (E, TSS_CPP_Init_Proc);
+
+ function Is_Init_Proc (E : Entity_Id) return Boolean;
+ -- Version for init procs, same as Is_TSS (E, TSS_Init_Proc);
+
function Is_TSS (E : Entity_Id; Nam : TSS_Name_Type) return Boolean;
-- Determines if given entity (E) is the name of a TSS identified by Nam
function Is_TSS (N : Name_Id; Nam : TSS_Name_Type) return Boolean;
-- Same test applied directly to a Name_Id value
- function Is_Init_Proc (E : Entity_Id) return Boolean;
- -- Version for init procs, same as Is_TSS (E, TSS_Init_Proc);
-
-----------------------------------------
-- TSS Data structures and Subprograms --
-----------------------------------------
@@ -188,6 +193,11 @@ package Exp_Tss is
-- used to initially install a TSS in the case where the subprogram for the
-- TSS has already been created and its declaration processed.
+ function CPP_Init_Proc (Typ : Entity_Id) return Entity_Id;
+ -- Obtains the CPP_Init TSS entity the given type. The CPP_Init TSS is a
+ -- procedure used to initialize the C++ part of the primary and secondary
+ -- dispatch tables of a tagged type derived from CPP types.
+
function Init_Proc
(Typ : Entity_Id;
Ref : Entity_Id := Empty) return Entity_Id;