diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/test_only_clause.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/test_only_clause.f90 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/test_only_clause.f90 b/gcc/testsuite/gfortran.dg/test_only_clause.f90 new file mode 100644 index 000000000..a02a75922 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/test_only_clause.f90 @@ -0,0 +1,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" } } |