contained_3.f90
来自「用于进行gcc测试」· F90 代码 · 共 51 行
F90
51 行
! { dg-do run }! Tests the fix for PR33897, in which gfortran missed that the! declaration of 'setbd' in 'nxtstg2' made it external. Also! the ENTRY 'setbd' would conflict with the external 'setbd'.!! Contributed by Michael Richmond <michael.a.richmond@nasa.gov>!MODULE ksbin1_aux_mod CONTAINS SUBROUTINE nxtstg1() INTEGER :: i i = setbd() ! available by host association. if (setbd () .ne. 99 ) call abort () END SUBROUTINE nxtstg1 SUBROUTINE nxtstg2() INTEGER :: i integer :: setbd ! makes it external. i = setbd() ! this is the PR if (setbd () .ne. 42 ) call abort () END SUBROUTINE nxtstg2 FUNCTION binden() INTEGER :: binden INTEGER :: setbd binden = 0 ENTRY setbd() setbd = 99 END FUNCTION bindenEND MODULE ksbin1_aux_modPROGRAM test USE ksbin1_aux_mod, only : nxtstg1, nxtstg2 integer setbd ! setbd is external, since not use assoc. CALL nxtstg1() CALL nxtstg2() if (setbd () .ne. 42 ) call abort () call foocontains subroutine foo USE ksbin1_aux_mod ! module setbd is available if (setbd () .ne. 99 ) call abort () end subroutineEND PROGRAM testINTEGER FUNCTION setbd() setbd=42END FUNCTION setbd! { dg-final { cleanup-modules "ksbin1_aux_mod" } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?