Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine test_print_char_rank2_array_c(strlen,nval,varnames_c)&bind(c,name='test_print_char_rank2_array')integer(kind=C_INT),value,intent(in)::nval,strlencharacter(kind=C_CHAR,len=1),intent(in)::varnames_c(strlen,nval)character(len=strlen)::VarNames_f(nval)character(len=strlen)::varnameinteger(kind=C_INT)::valinteger::ncharwrite(*,*)"test_print_char_rank2_array nval: ",nvaldo val=1,nvalnchar=get_c_string_length(varnames_c(:,val))if(nchar.gt.strlen)stop"c string length is restricted to strlen"varname=get_fortran_string(varnames_c(:,val),nchar)VarNames_f(val)=trim(varname(1:nchar))write(*,*),val,": VarNames_f: ",VarNames_f(val)end do end subroutine test_print_char_rank2_array_c