From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1d575f572a099528 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-12-11 08:24:26 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: hyrosen@mail.com (Hyman Rosen) Newsgroups: comp.lang.ada Subject: Re: What is faster Ada or C? Date: 11 Dec 2001 08:14:28 -0800 Organization: http://groups.google.com/ Message-ID: <568ede3c.0112110814.1c31fd91@posting.google.com> References: <9ujh51$k6m$1@wanadoo.fr> <3C0EF345.47BCC09@adaworks.com> <568ede3c.0112071202.56fc9f@posting.google.com> <3C13BC4A.1C1EBE8B@adaworks.com> NNTP-Posting-Host: 204.253.248.237 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1008087268 28567 127.0.0.1 (11 Dec 2001 16:14:28 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 11 Dec 2001 16:14:28 GMT Xref: archiver1.google.com comp.lang.ada:17763 Date: 2001-12-11T16:14:28+00:00 List-Id: Richard Riehle wrote in message news:<3C13BC4A.1C1EBE8B@adaworks.com>... > Well, actually, it is separate compilation. Of course, if one chooses to use > some new definition of separate compilation, so be it. If you look at 10.1.4/7, you will see that Ada allows an implementation to force the recompilation of any compilation unit which calls an inlined subprogram whenever the body of that subprogram changes. The normal definition of separate compilation is exactly the opposite of this - making changes to a subprogram, as long as you don't change its interface, never requires recompiling the callers. Notice that this is not a criticism of Ada. Ada, just like C++, very reasonably allows compilers to require access to the body of an inlined subprogram when compiling its callers. C++, not having Ada's library system, just forces the function definition to be in scope at a call. > Unless something has changed, C++ requires the full definition of the > inlined function at the place where it is declared. That simply is not true. Just as I posted, the definition of an inline function may be separate from its declaration.