diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-19 10:55:09 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-19 10:55:09 +0000 |
commit | 23e833138efd20119ccf186f5fed1c8ac4578282 (patch) | |
tree | 705d0c03d0e8dd8480aa77c15e216d9ffa4f0325 /gcc/ada/i-cpp.ads | |
parent | 13b802d70d691cdc8dd1157523d517f822313e88 (diff) | |
download | gcc-23e833138efd20119ccf186f5fed1c8ac4578282.tar.gz |
* a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
Minor reformatting througout (including new function specs)
Add ??? comments asking for clarification.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90901 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/i-cpp.ads')
-rw-r--r-- | gcc/ada/i-cpp.ads | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/gcc/ada/i-cpp.ads b/gcc/ada/i-cpp.ads index 9a5998837a2..a53c38b2242 100644 --- a/gcc/ada/i-cpp.ads +++ b/gcc/ada/i-cpp.ads @@ -33,6 +33,16 @@ -- Definitions for interfacing to C++ classes +-- This package corresponds to Ada.Tags but applied to tagged types which are +-- are imported from C++ and correspond exactly to a C++ Class. The code that +-- the GNAT front end generates does not know about the structure of the C++ +-- dispatch table (Vtable) but always accesses it through the procedural +-- interface defined in this package, thus the implementation of this package +-- (the body) can be customized to another C++ compiler without any change in +-- the compiler code itself as long as this procedural interface is respected. +-- Note that Ada.Tags defines a very similar procedural interface to the +-- regular Ada Dispatch Table. + with System; with System.Storage_Elements; @@ -41,23 +51,15 @@ package Interfaces.CPP is package S renames System; package SSE renames System.Storage_Elements; - -- This package corresponds to Ada.Tags but applied to tagged - -- types which are 'imported' from C++ and correspond exactly to a - -- C++ Class. GNAT doesn't know about the structure of the C++ - -- dispatch table (Vtable) but always accesses it through the - -- procedural interface defined below, thus the implementation of - -- this package (the body) can be customized to another C++ - -- compiler without any change in the compiler code itself as long - -- as this procedural interface is respected. Note that Ada.Tags - -- defines a very similar procedural interface to the regular Ada - -- Dispatch Table. - type Vtable_Ptr is private; function Expanded_Name (T : Vtable_Ptr) return String; function External_Tag (T : Vtable_Ptr) return String; private + -- These subprograms are in the private part. They are never accessed + -- directly except from compiler generated code, which has access to + -- private components of packages via the Rtsfind interface. procedure CPP_Set_Prim_Op_Address (T : Vtable_Ptr; |