entry_1.f90
来自「用于进行gcc测试」· F90 代码 · 共 48 行
F90
48 行
! { dg-do run }! Test alternate entry points in a module procedure! Also check that references to sibling entry points are resolved correctly.module mcontainssubroutine indirecta (p) call p (3, 4)end subroutinesubroutine indirectb (p) call p (5)end subroutinesubroutine test1 implicit none call indirecta (foo) call indirectb (bar)end subroutinesubroutine foo(a, b) integer a, b logical, save :: was_foo = .false. if ((a .ne. 3) .or. (b .ne. 4)) call abort was_foo = .true.entry bar(a) if (was_foo) then if ((a .ne. 3) .or. (b .ne. 4)) call abort else if (a .ne. 5) call abort end if was_foo = .false.end subroutinesubroutine test2 call foo (3, 4) call bar (5)end subroutineend moduleprogram p use m call foo (3, 4) call bar (5) call test1 () call test2 ()end program! { dg-final { cleanup-modules "m" } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?