OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gfortran.dg/] [whole_file_10.f90] - Diff between revs 302 and 384

Only display areas with differences | Details | Blame | View Log

Rev 302 Rev 384
! { dg-do compile }
! { dg-do compile }
! { dg-options "-fwhole-file" }
! { dg-options "-fwhole-file" }
! Test the fix for the fifth problem in PR40011, where the
! Test the fix for the fifth problem in PR40011, where the
! entries were not resolved, resulting in a segfault.
! entries were not resolved, resulting in a segfault.
!
!
! Contributed by Dominique d'Humieres 
! Contributed by Dominique d'Humieres 
!
!
recursive function fac(i) result (res)
recursive function fac(i) result (res)
  integer :: i, j, k, res
  integer :: i, j, k, res
  k = 1
  k = 1
  goto 100
  goto 100
entry bifac(i,j) result (res)
entry bifac(i,j) result (res)
  k = j
  k = j
100 continue
100 continue
  if (i < k) then
  if (i < k) then
    res = 1
    res = 1
  else
  else
    res = i * bifac(i-k,k)
    res = i * bifac(i-k,k)
  end if
  end if
end function
end function
program test
program test
  external fac
  external fac
  external bifac
  external bifac
  integer :: fac, bifac
  integer :: fac, bifac
  print *, fac(5)
  print *, fac(5)
  print *, bifac(5,2)
  print *, bifac(5,2)
  print*, fac(6)
  print*, fac(6)
  print *, bifac(6,2)
  print *, bifac(6,2)
  print*, fac(0)
  print*, fac(0)
  print *, bifac(1,2)
  print *, bifac(1,2)
end program test
end program test
 
 

powered by: WebSVN 2.1.0

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