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

Reply via email to