From: Dmitry A. Kazakov on
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...(a)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(a)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