This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, fortran] [4.7/4.8 Regression] [OOP] ICE on invalid: gfc_variable_attr(): Bad array reference
Dear Tobias,
Committed as revision 194916.
I am leaving the PR open to deal with 4.7.... just as soon as I have
downloaded it!
Thanks again for the careful review.
Cheers
Paul
On 2 January 2013 23:48, Tobias Burnus <burnus@net-b.de> wrote:
> Dear Paul,
>
> First, the new patch is fine from my side. (Although, I think the test case
> should also include the vector-section example.) Thanks for working on that
> regression.
>
>
>
> Paul Richard Thomas wrote:
>>
>> First of all, thanks for the review! I still owe you my comments on
>> FINAL; I got lost in trying to fix these various regressions :-) I
>> promise that I'll come back to you first thing tomorrow.
>
>
> I am looking forward to them - and in particular to a patch review of the
> FINAL patches. I am also interested in your comment to my LOGICAL in BIND(C)
> procedures patch, namely http://gcc.gnu.org/ml/fortran/2012-12/msg00200.html
>
>
>>> It looks mostly okay; however, you do not handle vector sections
>>> correctly,
>>> which leads to an ICE. Without your patch, one gets:
>>> Error: CLASS selector at (1) needs a temporary which is not yet
>>> implemented
>>>
>>> With your patch, it fails as one has:
>>
>> This was fairly easily fixed - see attached.
>
>
> Thanks. By the way, I have filled a PR to track this "not yet implemented"
> issue: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55849
>
>
>>> I am not quite sure whether the following ICE has the same cause or a
>>> different one, but it also ICEs with your patch applied:
>>> select type (component => self%cb[4])
>>
>> This co-array example was never OK, as far as I can tell. The error
>>
>> is similar to that of the PR. However, co-arrays were just never
>> handled at all.... again, as far as I can tell. I'll have a go at it
>> tomorrow night.
>
>
> I recall that we did add some coarray support for polymorphic variables. At
> least with coarray arrays (contrary to coarray scalars) it seems to compile.
> But it is very likely that select type never worked with coarrays or coarray
> scalars.
>
> Note that the coindexd
>
>
> select type (component => self%cb[4])
> is invalid (C803; PR55850 (a)). However, the same failure occurs for
> noncoindexed valid selector:
> select type (component => self%cb)
>
>
> (See also PR 55850 for some other SELECT TYPE issues I found.)
>
> Tobias
--
The knack of flying is learning how to throw yourself at the ground and miss.
--Hitchhikers Guide to the Galaxy