File: modules_38.f90

package info (click to toggle)
lfortran 0.45.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 46,332 kB
  • sloc: cpp: 137,068; f90: 51,260; python: 6,444; ansic: 4,277; yacc: 2,285; fortran: 806; sh: 524; makefile: 30; javascript: 15
file content (59 lines) | stat: -rw-r--r-- 1,269 bytes parent folder | download
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
module fpm_compiler

implicit none

public :: compiler_t

type string_t
    character(len=:), allocatable :: s
end type

enum, bind(C)
    enumerator :: &
        id_unknown, &
        id_intel_classic_windows, &
        id_intel_llvm_windows
end enum

integer, parameter :: compiler_enum = kind(id_unknown)

type :: compiler_t
    integer(compiler_enum) :: id = id_unknown
    character(len=:), allocatable :: fc
    character(len=:), allocatable :: cc
    character(len=:), allocatable :: cxx
    logical :: echo = .true.
    logical :: verbose = .true.

contains

    procedure :: enumerate_libraries

end type compiler_t

contains

function enumerate_libraries(self, prefix, libs) result(r)
    class(compiler_t), intent(in) :: self
    character(len=*), intent(in) :: prefix
    type(string_t), intent(in) :: libs(:)
    character(len=:), allocatable :: r

    if (self%id == id_intel_classic_windows .or. &
        self%id == id_intel_llvm_windows) then
    end if

end function enumerate_libraries

end module fpm_compiler

program modules_38
use fpm_compiler, only : string_t, compiler_t

type(compiler_t) :: compiler_arg
character(len=3) :: prefix_arg
type(string_t) :: libs_arg(4)

print *, compiler_arg%enumerate_libraries(prefix_arg, libs_arg)

end program