diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/value_6.f03')
-rw-r--r-- | gcc/testsuite/gfortran.dg/value_6.f03 | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/value_6.f03 b/gcc/testsuite/gfortran.dg/value_6.f03 new file mode 100644 index 000000000..0650d3295 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/value_6.f03 @@ -0,0 +1,25 @@ +! { dg-do run } +! Verify by-value passing of character arguments w/in Fortran to a bind(c) +! procedure. +! PR fortran/32732 +module pr32732 + use, intrinsic :: iso_c_binding, only: c_char + implicit none +contains + subroutine test(a) bind(c) + character(kind=c_char), value :: a + call test2(a) + end subroutine test + subroutine test2(a) bind(c) + character(kind=c_char), value :: a + if(a /= c_char_'a') call abort () + print *, 'a=',a + end subroutine test2 +end module pr32732 + +program main + use pr32732 + implicit none + call test('a') +end program main +! { dg-final { cleanup-modules "pr32732" } } |