summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/test_only_clause.f90
blob: a02a75922bf4e0a03d52d3dc364df7ee5fe4c850 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
! { dg-do run }
! { dg-additional-sources only_clause_main.c }
module testOnlyClause

  contains
    subroutine testOnly(cIntPtr) bind(c, name="testOnly")
      use, intrinsic :: iso_c_binding, only: c_ptr, c_int, c_f_pointer
      implicit none
      type(c_ptr), value :: cIntPtr
      integer(c_int), pointer :: f90IntPtr
      
      call c_f_pointer(cIntPtr, f90IntPtr)

      ! f90IntPtr coming in has value of -11; this will make it -12
      f90IntPtr = f90IntPtr - 1
      if(f90IntPtr .ne. -12) then
         call abort()
      endif
    end subroutine testOnly
end module testOnlyClause

! { dg-final { cleanup-modules "testonlyclause" } }