comp.lang.ada
 help / color / mirror / Atom feed
From: Hyman Rosen <hyrosen@mail.com>
Subject: Re: Merits of re-dispatching [LONG]
Date: Wed, 13 Feb 2002 09:32:56 -0500
Date: 2002-02-13T09:32:56-05:00	[thread overview]
Message-ID: <3C6A7918.1060707@mail.com> (raw)
In-Reply-To: 3c6a2fb2.66346125@News.CIS.DFN.DE

Dmitry A. Kazakov wrote:
> Does the C++ standard require this? I do not know, but if yes, then
> C++ is even "better" than I used to think. (:-))

The standard doesn't specify an implementation, of course, but yes,
it requires this behavior. Under the covers, this, combined with
multiple inheritance and a desire for efficiency in the most common
cases, makes the implementation of constructors and destructors
potentially very complicated. Fortunately, this just has to be
figured out once by the compiler vendor. To the user, everything
looks and acts just like they expect (assuming their expectations
are correct :-).

The gcc team has developed an ABI for C++ that discusses these issues.
See <http://www.codesourcery.com/cxx-abi/abi.html>. It has some relevance
to Ada since GNAT's tagged types are compatible with equivalent C++
classes.

> I remember one C run-time library implementation, which had printf
> modifying the format string and restoring it before return. It was a
> GREAT idea. Unfortunately, the compiler allocated string literals in
> the read-only memory. (:-))

C++, like Ada, integrates its libraries into the language specification,
so vendors are allowed to use whatever system knowledge or magic they
want to implement them. It helps if the library team and compiler team
talk to each other :-)




  reply	other threads:[~2002-02-13 14:32 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-07 10:26 Merits of re-dispatching [LONG] Dmitry A. Kazakov
2002-02-07 15:03 ` Hyman Rosen
2002-02-08  1:29   ` Matthew Heaney
2002-02-08  9:16     ` Dmitry A. Kazakov
2002-02-08 18:30       ` Hyman Rosen
2002-02-09  0:10         ` Matthew Heaney
2002-02-12  8:32         ` Dmitry A. Kazakov
2002-02-12 21:37           ` Hyman Rosen
2002-02-13  9:29             ` Dmitry A. Kazakov
2002-02-13 14:32               ` Hyman Rosen [this message]
2002-02-13 19:58           ` Dave Harris
2002-02-14 15:06             ` Dmitry A. Kazakov
2002-02-16 12:10               ` Dave Harris
2002-02-18  8:57                 ` Dmitry A. Kazakov
2002-02-18 19:47                   ` Merits of re-dispatching Dave Harris
2002-02-19  9:20                     ` Dmitry A. Kazakov
2002-02-21  5:49                       ` Hyman Rosen
2002-02-21  9:04                         ` Dmitry A. Kazakov
2002-02-21 18:17                           ` Hyman Rosen
2002-02-22  9:21                             ` Dmitry A. Kazakov
2002-02-22 16:59                               ` Hyman Rosen
2002-02-25  8:51                                 ` Dmitry A. Kazakov
2002-02-08 23:51       ` Merits of re-dispatching [LONG] Matthew Heaney
2002-02-12  9:02         ` Dmitry A. Kazakov
2002-02-07 23:40 ` Nick Roberts
2002-02-08  8:56   ` Dmitry A. Kazakov
2002-02-08  1:06 ` Matthew Heaney
2002-02-08  9:48   ` Dmitry A. Kazakov
2002-02-09  0:16     ` Matthew Heaney
2002-02-08 18:10   ` Hyman Rosen
2002-02-09  0:41     ` Matthew Heaney
2002-02-08 18:33 ` Nick Roberts
2002-02-09  4:07   ` Nick Roberts
2002-02-12 10:13   ` Dmitry A. Kazakov
2002-02-14 20:57 ` Tucker Taft
2002-02-15 15:43   ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox