On 1/17/20 4:49 AM, Steve Kargl wrote:
On Thu, Jan 16, 2020 at 11:34:43PM +0100, Thomas Koenig wrote:
+type(t) :: foo
+print *, foo(1)%a ! { dg-error "Function call can not contain a reference" }
I do not understand this error message, and find it to be confusing.
foo(1)%a looks like an invalid array reference. That is, foo is scalar
and foo(1) is an array element.
Well, we simply do not know whether "external" or "dimension" has been
forgotten. As "external" can also be determined by the use, we end up
regarding it as function reference…
Another example:
character(len=4):: str
print *, str(1)(1:4)
end
Maybe a more helpful error message is: "Unexpected junk after function
reference or missing dimension declaration for %s", sym->name)
(Or instead of "junk" the fancier variant of my previous email.)
Cheers,
Tobias