Hi Thomas,
On 24.10.22 22:33, Thomas Schwinge wrote:
Given the following reduced code, from a bigger test case that I'm
currently writing:
integer, allocatable :: ar(:,:,:)
logical :: l
l = acc_is_present (ar)
...
360 function acc_is_present_array_h (a)
361 logical acc_is_present_array_h
362 type (*), dimension (..), contiguous :: a
363 end function
The function semantics for that function, provided by the interface, is
that that the array "a" has to exist, i.e. it has to be allocated.
Addionally, the 'contiguous' attribute also requires that the argument
is made contiguous. (Well, in this case it is a whole allocatable array
– those are known to be contiguous).
You could try to add an 'optional' attribute to 'a' – and check whether
it then works; I think it should, but I have now my lunch break and
cannot check.
optional = absent argument or unallocated allocatable or unassociated
pointer.
Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634
München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas
Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht
München, HRB 106955