Hi Paul,

Thanks for the review, but I don't understand the regexp. rank_remap = 
ss->dimen < ndim != 0 in my eyes is not a legal expression. Did you mean 
something like rank_remap = ss->dimen < ndim && ndim != 0, or the like?

Regards,
Andre

Am 6. Juli 2015 21:36:18 MESZ, schrieb Paul Richard Thomas 
<paul.richard.tho...@gmail.com>:
>Dear Andre,
>
>Whilst it is probably OK in most circumstances, I would change:
>s/rank_remap = ss->dimen < ndim/rank_remap = ss->dimen < ndim != 0
>
>Apart from that, it is indeed OK for trunk, in spite of your
>expectations :-)
>
>Thanks for the patch
>
>Paul
>
>On 6 July 2015 at 14:58, Andre Vehreschild <ve...@gmx.de> wrote:
>> Hi all,
>>
>> this is a proposal to patch PR 66578
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66578 . It extends work
>of Mikael
>> Morin. The patch fixes two issues:
>>
>> 1. a source'd allocate in a block: allocate(c, source=a(:)). The
>issues occurs
>> because due to the new handling of source-expressions in
>trans_allocate() an
>> array descriptor is created where previously just a plain array was
>used. I.e.,
>> GFC_DESCRIPTOR_TYPE_P (source) is true now and GFC_ARRAY_TYPE_P
>(source) false,
>> which made gfortran use the wrong bounds for the descriptor
>(zero-based instead
>> of one-based). This was fixed by Mikael's proposal.
>>
>> 2. a two-level array addressing lead to a segfault. I.e., when in a
>> source-expression an array was used to index another object, then the
>offset
>> was computed incorrectly.
>>
>> Bootstraps and regtests fine on x86_64-linux-gnu/f21.
>>
>> Comments welcome!
>>
>> Regards,
>>         Andre
>>
>> PS: Experience shows that asking whether this ok for trunk is useless
>;-) There
>> is always something that could be improved. Open for suggestions.
>> --
>> Andre Vehreschild * Email: vehre ad gmx dot de

-- 
Andre Vehreschild * Kreuzherrenstr. 8 * 52062 Aachen
Mail: ve...@gmx.de * Tel.: +49 241 9291018

Reply via email to