c_char_tests.f03

来自「用于进行gcc测试」· F03 代码 · 共 30 行

F03
30
字号
! { dg-do run }! { dg-additional-sources c_char_driver.c }! Verify that character dummy arguments for bind(c) procedures can work both ! by-value and by-reference when called by either C or Fortran.! PR fortran/32732module c_char_tests  use, intrinsic :: iso_c_binding, only: c_char  implicit nonecontains  subroutine param_test(my_char, my_char_2) bind(c)    character(c_char), value :: my_char    character(c_char), value :: my_char_2    if(my_char /= c_char_'y') call abort()    if(my_char_2 /= c_char_'z') call abort()        call sub1(my_char)  end subroutine param_test  subroutine sub0() bind(c)    call param_test('y', 'z')  end subroutine sub0  subroutine sub1(my_char_ref) bind(c)    character(c_char) :: my_char_ref    if(my_char_ref /= c_char_'y') call abort()  end subroutine sub1end module c_char_tests! { dg-final { cleanup-modules "c_char_tests" } }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?