aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/bind_c_procs.f03
blob: 3bb6ea319c92c73237ee02bb2c6b0c6d7248f644 (plain)
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
35
36
37
38
! { dg-do compile }
! { dg-options "-Wc-binding-type" }
module bind_c_procs
  use, intrinsic :: iso_c_binding, only: c_int

  interface
     ! warning for my_param possibly not being C interoperable
     subroutine my_c_sub(my_param) bind(c) ! { dg-warning "may not be C interoperable" }
       integer, value :: my_param
     end subroutine my_c_sub

     ! warning for my_c_func possibly not being a C interoperable kind
     ! warning for my_param possibly not being C interoperable
     ! error message truncated to provide an expression that both warnings
     ! should match.
     function my_c_func(my_param) bind(c) ! { dg-warning "may not be" }
       integer, value :: my_param
       integer :: my_c_func
     end function my_c_func
  end interface

contains
  ! warning for my_param possibly not being C interoperable
  subroutine my_f03_sub(my_param) bind(c) ! { dg-warning "may not be" }
    integer, value :: my_param
  end subroutine my_f03_sub

  ! warning for my_f03_func possibly not being a C interoperable kind
  ! warning for my_param possibly not being C interoperable
  ! error message truncated to provide an expression that both warnings
  ! should match.
  function my_f03_func(my_param) bind(c) ! { dg-warning "may not be" }
    integer, value :: my_param
    integer :: my_f03_func
    my_f03_func = 1
  end function my_f03_func

end module bind_c_procs