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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
integer,
private
::
cap
integer,
private
::
i
integer,
private
::
newlen
character(len=:),
private,
allocatable
::
tmp(:)
Source Code
subroutine add_err(errors,n_err,msg)!! Append a message to a growable error list.character(len=:),allocatable,intent(inout)::errors(:)integer,intent(inout)::n_errcharacter(len=*),intent(in)::msgcharacter(len=:),allocatable::tmp(:)integer::cap,newlen,iif(.not.allocated(errors))allocate(character(len=256)::errors(8))cap=size(errors)if(n_err>=cap.or.len(msg)>len(errors))thennewlen=max(len(errors),len(msg))allocate(character(len=newlen)::tmp(max(2*cap,n_err+1)))do i=1,n_errtmp(i)=errors(i)end do call move_alloc(tmp,errors)end ifn_err=n_err+1errors(n_err)=msgend subroutine add_err