allocatable_dummy_1.f90

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

F90
52
字号
! { dg-do run }! Test procedures with allocatable dummy argumentsprogram alloc_dummy    implicit none    integer, allocatable :: a(:)    integer, allocatable :: b(:)    call init(a)    if (.NOT.allocated(a)) call abort()    if (.NOT.all(a == [ 1, 2, 3 ])) call abort()    call useit(a, b)    if (.NOT.all(b == [ 1, 2, 3 ])) call abort()    if (.NOT.all(whatever(a) == [ 1, 2, 3 ])) call abort()    call kill(a)    if (allocated(a)) call abort()    call kill(b)    if (allocated(b)) call abort()contains    subroutine init(x)        integer, allocatable, intent(out) :: x(:)        allocate(x(3))        x = [ 1, 2, 3 ]    end subroutine init    subroutine useit(x, y)        integer, allocatable, intent(in)  :: x(:)        integer, allocatable, intent(out) :: y(:)        if (allocated(y)) call abort()        call init(y)        y = x    end subroutine useit    function whatever(x)        integer, allocatable :: x(:)        integer :: whatever(size(x))                whatever = x    end function whatever    subroutine kill(x)        integer, allocatable, intent(out) :: x(:)    end subroutine killend program alloc_dummy

⌨️ 快捷键说明

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