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 <bur...@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