altreturn_3.f90

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

F90
44
字号
! { dg-do run }! Tests the fix for PR30236, which was due to alternate returns! in generic interfaces causing a segfault.  They now work! correctly.!! Contributed by Brooks Moses <brooks@gcc.gnu.org>!module arswitch  implicit none  interface gen    module procedure with    module procedure without  end interfacecontains  subroutine with(i,*)    integer i    if (i>0) then      i = -1      return 1    else      i = -2      return    end if  end subroutine  subroutine without()    return  end subroutineend moduleprogram test  use arswitch  implicit none  integer :: i = 0  call gen (i, *10)  if (i /= -2) call abort ()  i = 2  call gen (i, *20) 10 continue  call abort() 20 continue  if (i /= -1) call abort ()end! { dg-final { cleanup-modules "arswitch" } }

⌨️ 快捷键说明

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