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
function oqp_init()bind(C,name='oqp_init')result(res)implicit none type(c_ptr)::restype(oqp_handle_t),pointer::c_handletype(information),pointer::infinteger::okres=c_null_ptrallocate(inf,stat=ok)if(ok/=0)return allocate(c_handle,stat=ok)if(ok/=0)returnc_handle%inf=c_loc(inf)call oqp_handle_refresh_ptr(c_handle)res=c_loc(c_handle)call inf%dat%new("OQP")end function oqp_init