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.
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.
Source Code
subroutine select_names_or_all(targets,scope,names,keep)type(build_target_ptr),intent(in)::targets(:)integer,intent(in)::scopecharacter(len=*),intent(in),optional::names(:)logical,intent(inout)::keep(:)integer::i,jcharacter(len=:),allocatable::outbase_full,outbase_stemlogical::any_nameany_name=.false.if(present(names))then if(size(names)>0)then do j=1,size(names)if(len_trim(names(j))>0)thenany_name=.true.exit end if end do end if end if if(.not.any_name)then do i=1,size(targets)if(targets(i)%ptr%is_executable_target(scope))keep(i)=.true.end do return end if do i=1,size(targets)if(.not.targets(i)%ptr%is_executable_target(scope))cycleoutbase_full=basename(targets(i)%ptr%output_file)outbase_stem=basename(targets(i)%ptr%output_file,suffix=.false.)do j=1,size(names)if(len_trim(names(j))==0)cycle if(glob(trim(names(j)),outbase_full).or.glob(trim(names(j)),outbase_stem))thenkeep(i)=.true.exit end if end do end do end subroutine select_names_or_all