File: modules_43.f90

package info (click to toggle)
lfortran 0.58.0-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 54,512 kB
  • sloc: cpp: 162,179; f90: 68,251; python: 17,476; ansic: 6,278; yacc: 2,334; sh: 1,317; fortran: 892; makefile: 33; javascript: 15
file content (38 lines) | stat: -rw-r--r-- 879 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
module modules_43_fpm_sources
implicit none

type srcfile_t
    character(:), allocatable :: file_name
    character(:), allocatable :: exe_name
    integer(8) :: digest
end type srcfile_t

contains

subroutine add_sources_from_dir(sources)
    type(srcfile_t), allocatable, intent(inout), target :: sources(:)

    logical :: exclude_source(10)
    type(srcfile_t), allocatable :: dir_sources(:)

    allocate(dir_sources(1))

    if (.not. allocated(sources)) then
        sources = pack(dir_sources, .not. exclude_source)
    else
        sources = [sources, pack(dir_sources, .not. exclude_source)]
    end if

end subroutine add_sources_from_dir

end module modules_43_fpm_sources

program modules_43
use modules_43_fpm_sources
implicit none

type(srcfile_t), allocatable, target :: sources(:)
allocate(sources(1))
call add_sources_from_dir(sources)

end program modules_43