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 + -
显示快捷键?