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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,a589e934282bf3d5 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news3.google.com!feeder2.cambriumusenet.nl!feed.tweaknews.nl!194.109.133.84.MISMATCH!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!feeder.news-service.com!feeder.erje.net!news2.arglkargh.de!noris.net!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: GNAT bug: array aggregate containing controlled objects Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <177tljo9yd2wc$.iq67ky4xvjrg$.dlg@40tude.net> <1qyb3t69th9fx.1xxao6etfmeuf.dlg@40tude.net> <1xxnl8zxlrls9$.1tl9y8itzni93.dlg@40tude.net> <5d6c707b-b384-4353-b9f3-e43c310e8b27@j13g2000yqj.googlegroups.com> <87wrs7vbe5.fsf_-_@ludovic-brenta.org> Date: Tue, 3 Aug 2010 21:28:33 +0200 Message-ID: <18sug10bgszo9.m56zuw24vky0.dlg@40tude.net> NNTP-Posting-Date: 03 Aug 2010 21:28:31 CEST NNTP-Posting-Host: 946b05cb.newsspool2.arcor-online.net X-Trace: DXC=fh4iB_Dg8=k;iVb[J9ZZP`A9EHlD;3Ycb4Fo<]lROoRa8kF On Tue, 03 Aug 2010 19:44:50 +0200, Ludovic Brenta wrote: > I wrote on comp.lang.ada: >> Dmitry A. Kazakov wrote on comp.lang.ada: >>> On Tue, 13 Jul 2010 20:20:00 +0100, Simon Wright wrote: >>>> "Dmitry A. Kazakov" writes: >>>>> On Tue, 13 Jul 2010 05:45:11 -0700 (PDT), Ludovic Brenta wrote: >>>>>>> P.S. In any case in order to use the persistent layer of Simple Components, >>>>>>> the gcc 4.4 must be fixed first. The current version has controlled types >>>>>>> broken and some other severe issues. >>>>>> >>>>>> Wow, that's a pretty grave problem; if what you say is true, a fix in >>>>>> the stable GCC 4.4 branch is justified. What is the bugzilla number >>>>>> for this bug? >>>>> >>>>> There are several. For example this one: >>>> >>>> With GCC 4.5.0 and with GNAT GPL 2010 (both on Mac OS X Snow Leopard) >>>> this program produces >>>> >>>> � �$ ./controlled_array >>>> � �Count 1 >>>> � �Successful finalization >>>> � �Successful finalization >>>> � �Successful finalization >>> >>> This is how it should be. >>> >>> Debian's or Fedora's gcc 4.4 spits: >>> >>> Count 2 >>> Illegal count in finalization 1 >>> >>> raised PROGRAM_ERROR : adjust/finalize raised PROGRAM_ERROR: >>> controlled_array.adb:18 explicit raise >> >> >> Looks like this might be the patch that corrects this bug: >> >> 2009-04-17 Thomas Quinot >> >> * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special >> case for the case of an aggregate component, the attach call for the >> result is actually needed. >> >> * exp_aggr.adb (Backend_Processing_Possible): Backend processing for >> an array aggregate must be disabled if the component type requires >> controlled actions. >> >> * exp_ch3.adb: Minor reformatting >> >> I'll add a backport of this patch to my long TODO list. > > > The backport actually worked and the compiler in Debian unstable is now > fixed. The fix will migrate to testing in a few days. Thank you for > reporting. Great news, thank you. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de