URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.fortran-torture/] [execute/] [intrinsic_present.f90] - Rev 695
Compare with Previous | Blame | View Log
! Program to test the PRESENT intrinsic
program intrinsic_present
implicit none
integer a
integer, pointer :: b
integer, dimension(10) :: c
integer, pointer, dimension(:) :: d
if (testvar()) call abort ()
if (.not. testvar(a)) call abort ()
if (testptr()) call abort ()
if (.not. testptr(b)) call abort ()
if (testarray()) call abort ()
if (.not. testarray(c)) call abort ()
if (testparray()) call abort ()
if (.not. testparray(d)) call abort ()
contains
logical function testvar (p)
integer, optional :: p
testvar = present(p)
end function
logical function testptr (p)
integer, pointer, optional :: p
testptr = present(p)
end function
logical function testarray (p)
integer, dimension (10), optional :: p
testarray = present(p)
end function
logical function testparray (p)
integer, pointer, dimension(:), optional :: p
testparray = present(p)
end function
end program