Hi Tobias,
> > However, an additional plain check on e->rank != 0 also in the
> > CLASS cases fixes the original issue as well as your example:
> [...]
> > And regtests ok. :-)
> > See attached updated patch.
>
> I think you still need to remove the 'return true;' from
> the 'if (e->rank != 0 &&
Hi Harald,
On 22.07.21 21:03, Harald Anlauf wrote:
you are right in that I was barking up the wrong tree.
I was focussed too much on the testcase in the PR.
[...]
Well, I tried and this does not work.
Which makes sense if one thinks about it:
When using 'a(5,:)', the parser already sets
Hi Tobias,
you are right in that I was barking up the wrong tree.
I was focussed too much on the testcase in the PR.
> I think that one is wrong. While CLASS_DATA (e) accesses
> e->ts.u.derived->components,
> which always works, your code assumes that there is only 'c' and not 'x%c'
> where
>
Hi Harald,
On 21.07.21 22:22, Harald Anlauf via Fortran wrote:
Another one of Gerhard's infamous testcases. We did not properly detect
and reject array elements of type CLASS as argument to an intrinsic when
it should be an array.
Regtested on x86_64-pc-linux-gnu. OK for mainline / 11-branch
Another one of Gerhard's infamous testcases. We did not properly detect
and reject array elements of type CLASS as argument to an intrinsic when
it should be an array.
Regtested on x86_64-pc-linux-gnu. OK for mainline / 11-branch when it
reopens?
Thanks,
Harald
Fortran: extend check for