From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16978 invoked by alias); 2 Oct 2004 12:30:06 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 16963 invoked from network); 2 Oct 2004 12:30:05 -0000 Received: from unknown (HELO nile.gnat.com) (205.232.38.5) by sourceware.org with SMTP; 2 Oct 2004 12:30:05 -0000 Received: from localhost (localhost [127.0.0.1]) by nile.gnat.com (Postfix) with ESMTP id DEE18F2EAA; Sat, 2 Oct 2004 08:30:03 -0400 (EDT) Received: from nile.gnat.com ([127.0.0.1]) by localhost (nile.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 22902-01-8; Sat, 2 Oct 2004 08:30:03 -0400 (EDT) Received: from [205.232.38.103] (taconic.gnat.com [205.232.38.103]) by nile.gnat.com (Postfix) with ESMTP id 98B04F2EA5; Sat, 2 Oct 2004 08:30:03 -0400 (EDT) Message-ID: <415E9F37.8000504@gnat.com> Date: Sat, 02 Oct 2004 20:50:00 -0000 From: Robert Dewar User-Agent: Mozilla Thunderbird 0.8 (Windows/20040913) MIME-Version: 1.0 To: Daniel Lundqvist Cc: gcc@gcc.gnu.org Subject: Re: C++ and Ada. References: <415E9A68.5050009@malarhojden.nu> In-Reply-To: <415E9A68.5050009@malarhojden.nu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at nile.gnat.com X-SW-Source: 2004-10/txt/msg00068.txt.bz2 Daniel Lundqvist wrote: > Hi, > > I've been toying around with Ada lately. Trying to add Ada bindings to a > C++ library. Almost everything works perfect except one thing. > I can't seem to import classes without virtual tables. > > Pragma CPP_Constructor seem to require tagged types. And if I mark the > type tagged Pragma CPP_Class needs it to have a Vtable_Ptr field. But > then gnats idea of how class looks like isn't correct. Right, with the current implementation, you can't import a class without a virtual table as a tagged type (you could of course import it as a normal Ada record). As it turns out, we are starting to take another look at the whole CPP pragma support, with an eye also on the new Interfaces feature of Ada 95. We are preparing an initial discussion document on an implementation approach for Interfaces, which we will post on this list for discussion when it is ready. Our initial thought is to try to make the implementation of Interfaces as compatible as possible with the g++ MI model.