File: block_08.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 (29 lines) | stat: -rw-r--r-- 529 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
function diff_1_int32(n_) result(y)
integer, allocatable :: y(:)
integer :: size_work
integer, intent(in) :: n_

if (n_ <= 0) return
allocate(y(n_))

block
integer :: work(size_work)
y = 13
end block

end function diff_1_int32

program block_08
integer, allocatable :: x(:)
interface
    function diff_1_int32(n_) result(y)
        integer, allocatable :: y(:)
        integer, intent(in) :: n_
    end function diff_1_int32
end interface

allocate(x(10))
x = diff_1_int32(10)
print *, x
if (any(x /= 13)) error stop
end program