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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post02.iad.highwinds-media.com!news.flashnewsgroups.com-b7.4zTQh5tI3A!not-for-mail Newsgroups: comp.lang.ada Subject: Re: Issue with GNAT GPL 2009 and GtkAda References: <4A414EBB.8060204@free.fr> <1avd65rn49abv$.krcxo2gdzb16$.dlg@40tude.net> <4a43c9ce$0$420$426a74cc@news.free.fr> <4a44ae4e$0$6295$4f793bc4@news.tdc.fi> From: Stephen Leake Date: Sat, 27 Jun 2009 05:56:02 -0400 Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (windows-nt) Cancel-Lock: sha1:XWjzBHSeIx2CUeFGpnwpYyeffPg= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@flashnewsgroups.com Organization: FlashNewsgroups.com X-Trace: 931ae4a45ecb4e9cadf9d22621 Xref: g2news2.google.com comp.lang.ada:6660 Date: 2009-06-27T05:56:02-04:00 List-Id: Niklas Holsti writes: >> Damien Carbonne writes: >>> >>> type Listener is interface; >>> procedure Process (L : in out Listener) is abstract; > ... >>> type Base is tagged null record; > ... >>> type Derived is new Base and Listener with null record; >>> overriding procedure Process (D : in out Derived); >>> > > Stephen Leake wrote: >> The problem is clear here. >> >> "D : in out Derived" is allowed to create a copy of the actual >> parameter. > > Huh? Do you mean that this "D" parameter may be passed by copy? But > "Derived" is a tagged type, and tagged types are passed by reference, > not by copy. Or so I thought. Right; I realized that this morning. So we're back to a compiler bug. I have a support contract with AdaCore, and this issue has come up in my real work, so I'll report it. -- -- Stephe