subroutinemeasure_filesprivate
subroutine measure_files(site)
Measure the source files of the list of files.
Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
| site | type(site_t) | inout | the site |
Calls
Source
Show the code
subroutine measure_files(site)
type(site_t), intent(inout) :: site !! the site
integer :: k, n, file
n = size(site%members(LIST_FILES)%ids)
allocate (site%file_stats(n))
!$omp parallel do schedule(dynamic) num_threads(max(1, site%s%parallel)) default(shared) private(k)
do k = 1, n
associate (e => site%p%list%box(site%members(LIST_FILES)%ids(k))%e)
if (allocated(e%source_text)) call count_source(e%source_text, site%file_stats(k))
end associate
end do
!$omp end parallel do
if (n == 0) return
do k = 1, site%p%list%n
associate (e => site%p%list%box(k)%e)
if (e%kind /= E_SUBROUTINE .and. e%kind /= E_FUNCTION .and. e%kind /= E_MODPROC) cycle
if (e%iface /= IFACE_NONE .or. e%parent == 0) cycle
if (site%p%list%box(e%parent)%e%kind == E_INTERFACE) cycle
file = findloc(site%members(LIST_FILES)%ids, e%file, 1)
if (file > 0) site%file_stats(file)%procedures = site%file_stats(file)%procedures + 1
end associate
end do
end subroutine measure_files