diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/c_char_tests_2.f03')
-rw-r--r-- | gcc/testsuite/gfortran.dg/c_char_tests_2.f03 | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/c_char_tests_2.f03 b/gcc/testsuite/gfortran.dg/c_char_tests_2.f03 new file mode 100644 index 000000000..4e5edb085 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/c_char_tests_2.f03 @@ -0,0 +1,33 @@ +! { dg-do run } +! Verify that the changes made to character dummy arguments for bind(c) +! procedures doesn't break non-bind(c) routines. +! PR fortran/32732 +subroutine bar(a) + use, intrinsic :: iso_c_binding, only: c_char + character(c_char), value :: a + if(a /= c_char_'a') call abort() +end subroutine bar + +subroutine bar2(a) + use, intrinsic :: iso_c_binding, only: c_char + character(c_char) :: a + if(a /= c_char_'a') call abort() +end subroutine bar2 + +use iso_c_binding +implicit none +interface + subroutine bar(a) + import + character(c_char),value :: a + end subroutine bar + subroutine bar2(a) + import + character(c_char) :: a + end subroutine bar2 +end interface + character(c_char) :: z + z = 'a' + call bar(z) + call bar2(z) +end |