File: modules_38.f90

package info (click to toggle)
lfortran 0.59.0-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 56,736 kB
  • sloc: cpp: 168,052; f90: 74,272; python: 17,537; ansic: 7,705; yacc: 2,345; sh: 1,334; fortran: 895; makefile: 37; javascript: 15
file content (61 lines) | stat: -rw-r--r-- 1,306 bytes parent folder | download | duplicates (3)
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
60
61
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

    allocate(character(len=1) :: r)

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