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
| module coddity
| use iso_c_binding, only: c_double, c_int, c_int64_t
| implicit none
| contains
| subroutine c_add(a, b, c) bind(c, name="c_add")
| real(c_double), intent(in) :: a, b
| real(c_double), intent(out) :: c
| c = a + b
| end subroutine c_add
| ! gh-9693
| function wat(x, y) result(z) bind(c)
| integer(c_int), intent(in) :: x, y
| integer(c_int) :: z
|
| z = x + 7
| end function wat
| ! gh-25207
| subroutine c_add_int64(a, b, c) bind(c)
| integer(c_int64_t), intent(in) :: a, b
| integer(c_int64_t), intent(out) :: c
| c = a + b
| end subroutine c_add_int64
| ! gh-25207
| subroutine add_arr(A, B, C)
| integer(c_int64_t), intent(in) :: A(3)
| integer(c_int64_t), intent(in) :: B(3)
| integer(c_int64_t), intent(out) :: C(3)
| integer :: j
|
| do j = 1, 3
| C(j) = A(j)+B(j)
| end do
| end subroutine
| end module coddity
|
|