annotate gcc/testsuite/gfortran.dg/bind_c_usage_11.f03 @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do compile }
kono
parents:
diff changeset
2 ! { dg-options "-std=gnu" }
kono
parents:
diff changeset
3 ! PR fortran/34133
kono
parents:
diff changeset
4 !
kono
parents:
diff changeset
5 ! The compiler should accept internal procedures with BIND(c) attribute
kono
parents:
diff changeset
6 ! for STD GNU / Fortran 2008.
kono
parents:
diff changeset
7 !
kono
parents:
diff changeset
8 subroutine foo() bind(c)
kono
parents:
diff changeset
9 contains
kono
parents:
diff changeset
10 subroutine bar() bind (c)
kono
parents:
diff changeset
11 end subroutine bar
kono
parents:
diff changeset
12 end subroutine foo
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 subroutine foo2() bind(c)
kono
parents:
diff changeset
15 use iso_c_binding
kono
parents:
diff changeset
16 contains
kono
parents:
diff changeset
17 integer(c_int) function barbar() bind (c)
kono
parents:
diff changeset
18 barbar = 1
kono
parents:
diff changeset
19 end function barbar
kono
parents:
diff changeset
20 end subroutine foo2
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 function one() bind(c)
kono
parents:
diff changeset
23 use iso_c_binding
kono
parents:
diff changeset
24 integer(c_int) :: one
kono
parents:
diff changeset
25 one = 1
kono
parents:
diff changeset
26 contains
kono
parents:
diff changeset
27 integer(c_int) function two() bind (c)
kono
parents:
diff changeset
28 two = 1
kono
parents:
diff changeset
29 end function two
kono
parents:
diff changeset
30 end function one
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32 function one2() bind(c)
kono
parents:
diff changeset
33 use iso_c_binding
kono
parents:
diff changeset
34 integer(c_int) :: one2
kono
parents:
diff changeset
35 one2 = 1
kono
parents:
diff changeset
36 contains
kono
parents:
diff changeset
37 subroutine three() bind (c)
kono
parents:
diff changeset
38 end subroutine three
kono
parents:
diff changeset
39 end function one2
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 program main
kono
parents:
diff changeset
42 use iso_c_binding
kono
parents:
diff changeset
43 implicit none
kono
parents:
diff changeset
44 contains
kono
parents:
diff changeset
45 subroutine test() bind(c)
kono
parents:
diff changeset
46 end subroutine test
kono
parents:
diff changeset
47 integer(c_int) function test2() bind (c)
kono
parents:
diff changeset
48 test2 = 1
kono
parents:
diff changeset
49 end function test2
kono
parents:
diff changeset
50 end program main