bind_c_dts_3.f03

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

F03
40
字号
! { dg-do compile }module bind_c_dts_3use, intrinsic :: iso_c_bindingimplicit noneTYPE, bind(c) :: t  integer(c_int) :: iend type ttype :: my_c_type_0 ! { dg-error "must have the BIND attribute" }   integer(c_int) :: iend type my_c_type_0type, bind(c) :: my_c_type_1 ! { dg-error "BIND.C. derived type" }   type(my_c_type_0) :: my_nested_type   type(c_ptr) :: c_address   integer(c_int), pointer :: j ! { dg-error "cannot have the POINTER" }end type my_c_type_1type, bind(c) :: t2 ! { dg-error "BIND.C. derived type" }   type (t2), pointer :: next ! { dg-error "cannot have the POINTER" }end type t2type, bind(c):: t3 ! { dg-error "BIND.C. derived type" }  type(t), allocatable :: c(:) ! { dg-error "cannot have the ALLOCATABLE" }end type t3contains  subroutine sub0(my_type, expected_value) bind(c) ! { dg-error "is not C interoperable" }    type(my_c_type_1) :: my_type    integer(c_int), value :: expected_value    if (my_type%my_nested_type%i .ne. expected_value) then       call abort ()    end if  end subroutine sub0end module bind_c_dts_3! { dg-final { cleanup-modules "bind_c_dts_3" } }

⌨️ 快捷键说明

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