view gcc/testsuite/gfortran.dg/pure_byref_3.f90 @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
line wrap: on
line source

! { dg-do run }
! PR 22607: External/module pure return-by-reference functions

pure function hoj()
    integer :: hoj(3)
    hoj = (/1, 2, 3/)
end function hoj

module huj_mod
contains
    pure function huj()
        integer :: huj(3)
        huj = (/1, 2, 3/)
    end function huj
end module huj_mod

program pure_byref_3
    use huj_mod
    implicit none

    interface
        pure function hoj()
            integer :: hoj(3)
        end function hoj
    end interface
    integer :: a(3)

    a = huj()
    if (.not. all(a == (/1, 2, 3/))) STOP 1

    a = hoj()
    if (.not. all(a == (/1, 2, 3/))) STOP 2
end program pure_byref_3