contained_module_proc_1.f90

来自「用于进行gcc测试」· F90 代码 · 共 41 行

F90
41
字号
! { dg-do run }! Tests the check for PR31292, in which the module procedure! statement would put the symbol for assign_t in the wrong! namespace and this caused the interface checking to fail.!! Contributed by Tobias Burnus <burnus@gcc.gnu.org>!module chk_gfortran   implicit none   type t      integer x   end type t   contains      function is_gfortran()         logical is_gfortran         interface assignment(=)            module procedure assign_t         end interface assignment(=)         type(t) y(3)         y%x = (/1,2,3/)         y = y((/2,3,1/))         is_gfortran = y(3)%x == 1      end function is_gfortran      elemental subroutine assign_t(lhs,rhs)         type(t), intent(in) :: rhs         type(t), intent(out) :: lhs         lhs%x = rhs%x      end subroutine assign_tend module chk_gfortranprogram fire   use chk_gfortran   implicit none   if(.not. is_gfortran()) call abort()end program fire! { dg-final { cleanup-modules "chk_gfortran" } }

⌨️ 快捷键说明

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