From: "Martin Krischik" <Martin.Krischik@T-Online.de>
Subject: Re: Eliminating copying in Gnat
Date: Tue, 21 Jan 2003 19:49:16 +0100
Date: 2003-01-21T19:49:16+01:00 [thread overview]
Message-ID: <pan.2003.01.21.18.49.08.442915@T-Online.de> (raw)
In-Reply-To: 3e2c8625$0$33922$bed64819@news.gradwell.net
On Tue, 21 Jan 2003 02:27:56 +0500, Victor Porton wrote:
> Path:
> news.t-online.com!newsmm00.sul.t-online.com!newsfeed01.sul.t-online.de!t-on
> line.de!newsfeed.stueberl.de!news-peer.gradwell.net!not-for-mail
> Message-ID: <3e2c8625$0$33922$bed64819@news.gradwell.net>
> From: porton@ex-code.com (Victor Porton)
> Newsgroups: comp.lang.ada
> Subject: Re: Eliminating copying in Gnat
> Date: Tue, 21 Jan 2003 02:27:56 +0500
> References: <3e2b7777$0$33930$bed64819@news.gradwell.net>
> Lines: 48
> Organization: Extreme Code Software (http://ex-code.com)
> X-Newsreader: knews 1.0b.1
> X-URL: http://www.ex-code.com/
> NNTP-Posting-Date: 20 Jan 2003 23:28:37 GMT
> NNTP-Posting-Host: 195.149.39.13
> X-Trace: 1043105317 news.gradwell.net 33922 mail2news/195.149.39.13
> X-Complaints-To: news-abuse@gradwell.net
> Xref: linux1.krischik.com comp.lang.ada:410
> MIME-Version: 1.0
> Content-Type: text/plain; charset=us-ascii
>
>
> In article <uiswjamfw.fsf@nasa.gov>,
> Stephen Leake <Stephen.A.Leake@nasa.gov> writes:
> I don't see any relevant problems about inlining even if all
> warnings are on
Pass is not metioned inside the m.ads (the is no m.ads?!) so the position of
the pragma inline should be ok.
> (however it does not inline an unrelevant library
> function). But Adjust is called 3 times :-(
3 is indeed strange. I would expect 2. One into the function and one for
the return.
> -- m.adb --
> with P;
> procedure M is
> function Pass(X: P.T) return P.T is
> pragma Inline(Pass);
> begin
> return X;
> end;
> X: P.T;
> Y: P.T := Pass(X);
are you shure that all Adjust are part of this statement. Prehaps you like
to ann anther line:
Z: P:T := Pass(x);
and see of the count goes up to 5 or 6.
> begin
> null;
> end M;
>
> -- p.ads --
> with Ada.Finalization;
> package P is
> type T is new Ada.Finalization.Controlled with null record;
> procedure Adjust(Object: in out T);
> end P;
>
> -- p.adb --
> with Ada.Text_IO;
> package body P is
> procedure Adjust (Object: in out T) is
> begin
> Ada.Text_IO.Put_Line("QWER");
> end Adjust;
> end P;
--
Martin Krischik
mailto://Martin@krischik.com
http://www.martin.krischik.com
next prev parent reply other threads:[~2003-01-21 18:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-20 4:12 Eliminating copying in Gnat Victor Porton
2003-01-20 14:57 ` Damien CARBONNE
2003-01-20 15:03 ` Lutz Donnerhacke
2003-01-20 18:34 ` Martin Krischik
2003-01-20 15:08 ` Stephen Leake
2003-01-20 21:27 ` Victor Porton
2003-01-21 12:35 ` Georg Bauhaus
2003-01-21 19:21 ` Robert A Duff
2003-01-21 14:52 ` Stephen Leake
2003-01-21 18:49 ` Martin Krischik [this message]
2003-01-21 13:10 ` Victor Porton
2003-01-21 18:40 ` Victor Porton
2003-01-21 20:54 ` Victor Porton
-- strict thread matches above, loose matches on Subject: below --
2003-01-21 13:31 Grein, Christoph
2003-01-21 18:54 ` Randy Brukardt
2003-01-21 19:02 ` Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox