OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [gfortran.dg/] [f2c_7.f90] - Diff between revs 149 and 154

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 149 Rev 154
! { dg-do run }
! { dg-do run }
! { dg-options "-ff2c" }
! { dg-options "-ff2c" }
! Verifies that array results work with -ff2c
! Verifies that array results work with -ff2c
! try all permutations of result clause in function yes/no
! try all permutations of result clause in function yes/no
!                     and result clause in interface yes/no
!                     and result clause in interface yes/no
! this is not possible in Fortran 77, but this exercises a previously
! this is not possible in Fortran 77, but this exercises a previously
! buggy codepath
! buggy codepath
function c() result (r)
function c() result (r)
  complex :: r(5)
  complex :: r(5)
  r = 0.
  r = 0.
end function c
end function c
function d()
function d()
  complex :: d(5)
  complex :: d(5)
  d = 1.
  d = 1.
end function d
end function d
subroutine test_without_result
subroutine test_without_result
interface
interface
   function c ()
   function c ()
     complex :: c(5)
     complex :: c(5)
   end function c
   end function c
end interface
end interface
interface
interface
   function d ()
   function d ()
     complex :: d(5)
     complex :: d(5)
   end function d
   end function d
end interface
end interface
complex z(5)
complex z(5)
z = c()
z = c()
if (any(z /= 0.)) call abort ()
if (any(z /= 0.)) call abort ()
z = d()
z = d()
if (any(z /= 1.)) call abort ()
if (any(z /= 1.)) call abort ()
end subroutine test_without_result
end subroutine test_without_result
subroutine test_with_result
subroutine test_with_result
interface
interface
   function c () result(r)
   function c () result(r)
     complex :: r(5)
     complex :: r(5)
   end function c
   end function c
end interface
end interface
interface
interface
   function d () result(r)
   function d () result(r)
     complex :: r(5)
     complex :: r(5)
   end function d
   end function d
end interface
end interface
complex z(5)
complex z(5)
z = c()
z = c()
if (any(z /= 0.)) call abort ()
if (any(z /= 0.)) call abort ()
z = d()
z = d()
if (any(z /= 1.)) call abort ()
if (any(z /= 1.)) call abort ()
end subroutine test_with_result
end subroutine test_with_result
call test_without_result
call test_without_result
call test_with_result
call test_with_result
end
end
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.