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 expand_settings(settings)! this is a compromise to avoid a fixed sizetype(settings_data),allocatable::nentries(:)type(settings_type),intent(inout)::settingsinteger::n,m! old, new sizesinteger,parameter::incsize=20! default increment when settings array growsn=settings%num_entries_maxm=n+incsizeallocate(nentries(m));nentries(1:n)=settings%entries(1:n);call move_alloc(nentries,settings%entries)!f2003, note that "new" space not initialisedsettings%num_entries_max=mend subroutine expand_settings