finalyze moving
This commit is contained in:
59
tests/inliner/test.f
Normal file
59
tests/inliner/test.f
Normal file
@@ -0,0 +1,59 @@
|
||||
integer function sum_(a, b)
|
||||
integer a, b
|
||||
sum_ = a + b
|
||||
return
|
||||
entry mul_(a, b)
|
||||
mul_ = a * b
|
||||
return
|
||||
end
|
||||
|
||||
integer function sub_(a, b)
|
||||
integer a, b
|
||||
integer sum_
|
||||
sub_ = a - b
|
||||
if (1 .eq. 1) then
|
||||
return
|
||||
endif
|
||||
sub_ = sum_(a, -b)
|
||||
end
|
||||
|
||||
integer function one()
|
||||
one = 1
|
||||
end
|
||||
|
||||
integer function array_sum(a, b, n)
|
||||
integer n
|
||||
integer a(-1:8), b(N)
|
||||
integer i
|
||||
array_sum = 0
|
||||
do i = 1, n
|
||||
array_sum = array_sum + a(i-2) + b(i)
|
||||
enddo
|
||||
end
|
||||
|
||||
subroutine print_(a)
|
||||
integer a
|
||||
write(*,*)a
|
||||
end
|
||||
|
||||
program main
|
||||
implicit none
|
||||
integer a, b, res, i, s
|
||||
integer sum_, sub_, mul_, one, array_sum
|
||||
integer array1(10), array2(10)
|
||||
do i = 1, 10
|
||||
array1(i) = i
|
||||
array2(i) = i
|
||||
enddo
|
||||
s = array_sum(array1, array2, 10)
|
||||
call print_(s)
|
||||
call print_(array_sum(array1, array2, 10))
|
||||
a = 1
|
||||
b = a + 1
|
||||
res = sum_(sum_(one(), b), mul_(1, sub_(a,b)))
|
||||
if (1 .eq. one()) call print_(1)
|
||||
do i = 1, one() * 5
|
||||
call print_(i + one() * one())
|
||||
enddo
|
||||
call print_(res)
|
||||
end
|
||||
Reference in New Issue
Block a user