comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: GNAT bug: array aggregate containing controlled objects
Date: Tue, 3 Aug 2010 21:28:33 +0200
Date: 2010-08-03T21:28:31+02:00	[thread overview]
Message-ID: <18sug10bgszo9.m56zuw24vky0.dlg@40tude.net> (raw)
In-Reply-To: 87wrs7vbe5.fsf_-_@ludovic-brenta.org

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" <mail...@dmitry-kazakov.de> 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 <quinot@adacore.com>
>>
>> 	* 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



      reply	other threads:[~2010-08-03 19:28 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-11 20:52 ANN: Simple components for Ada v3.9 Dmitry A. Kazakov
2010-07-12 20:36 ` Dirk Heinrichs
2010-07-12 22:09   ` tonyg
2010-07-13  8:06     ` Dmitry A. Kazakov
2010-07-13  8:37       ` tonyg
2010-07-13 16:59       ` Warren
2010-07-13  7:55   ` Dmitry A. Kazakov
2010-07-13 12:45     ` Ludovic Brenta
2010-07-13 16:35       ` Dmitry A. Kazakov
2010-07-13 19:20         ` Simon Wright
2010-07-13 19:55           ` Dmitry A. Kazakov
2010-07-14 14:54             ` Ludovic Brenta
2010-08-03 17:44               ` GNAT bug: array aggregate containing controlled objects (was: ANN: Simple components for Ada v3.9) Ludovic Brenta
2010-08-03 19:28                 ` Dmitry A. Kazakov [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox