File: string_46.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 (28 lines) | stat: -rw-r--r-- 584 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
program string_46

type :: string
    character(:), allocatable :: s
end type

type(string), allocatable :: x(:)
allocate(x(2))
allocate(character(len("fix")) :: x(1)%s)
x(1)%s = "fix"
allocate(character(len("lfortran")) :: x(2)%s)
x(2)%s = "lfortran"
x = g(x)
print *, x(1)%s, x(2)%s
if( x(1)%s /= "fix" ) error stop
if( x(2)%s /= "lfortran" ) error stop


contains

    function g(intokens) result(tokens)
    type(string), intent(in) :: intokens(:)
    type(string), allocatable :: tokens(:)
    allocate(tokens(size(intokens)))
    tokens = intokens
    end function

end program