diff options
Diffstat (limited to 'gcc/ada/exp_tss.ads')
-rw-r--r-- | gcc/ada/exp_tss.ads | 18 |
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; |