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