elemental_subroutine_4.f90
来自「用于进行gcc测试」· F90 代码 · 共 39 行
F90
39 行
! { dg-do compile }! Test the fix for PR25099, in which conformance checking was not being! done for elemental subroutines and therefore for interface assignments.!! Contributed by Joost VandeVondele <jv244@cam.ac.uk>!module elem_assign implicit none type mytype integer x end type mytype interface assignment(=) module procedure myassign end interface assignment(=) contains elemental subroutine myassign(x,y) type(mytype), intent(out) :: x type(mytype), intent(in) :: y x%x = y%x end subroutine myassignend module elem_assign use elem_assign integer :: I(2,2),J(2) type (mytype) :: w(2,2), x(4), y(5), z(4)! The original PR CALL S(I,J) ! { dg-error "Incompatible ranks in elemental procedure" }! Check interface assignments x = w ! { dg-error "Incompatible ranks in elemental procedure" } x = y ! { dg-error "Different shape for elemental procedure" } x = zCONTAINS ELEMENTAL SUBROUTINE S(I,J) INTEGER, INTENT(IN) :: I,J END SUBROUTINE SEND! { dg-final { cleanup-modules "elem_assign" } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?