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-Thread: 103376,a589e934282bf3d5 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!postnews.google.com!j13g2000yqj.googlegroups.com!not-for-mail From: Ludovic Brenta Newsgroups: comp.lang.ada Subject: Re: ANN: Simple components for Ada v3.9 Date: Wed, 14 Jul 2010 07:54:10 -0700 (PDT) Organization: http://groups.google.com Message-ID: <5d6c707b-b384-4353-b9f3-e43c310e8b27@j13g2000yqj.googlegroups.com> References: <177tljo9yd2wc$.iq67ky4xvjrg$.dlg@40tude.net> <1qyb3t69th9fx.1xxao6etfmeuf.dlg@40tude.net> <1xxnl8zxlrls9$.1tl9y8itzni93.dlg@40tude.net> NNTP-Posting-Host: 153.98.68.197 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1279119250 29356 127.0.0.1 (14 Jul 2010 14:54:10 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 14 Jul 2010 14:54:10 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: j13g2000yqj.googlegroups.com; posting-host=153.98.68.197; posting-account=pcLQNgkAAAD9TrXkhkIgiY6-MDtJjIlC User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4,gzip(gfe) Xref: g2news1.google.com comp.lang.ada:12423 Date: 2010-07-14T07:54:10-07:00 List-Id: 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 Compo= nents, >>>>> the gcc 4.4 must be fixed first. The current version has controlled t= ypes >>>>> 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 >> >> =A0 =A0$ ./controlled_array >> =A0 =A0Count 1 >> =A0 =A0Successful finalization >> =A0 =A0Successful finalization >> =A0 =A0Successful 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. -- Ludovic Brenta.