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

Subversion Repositories openrisc

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

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

Rev 302 Rev 384
! { dg-do run }
! { dg-do run }
! Tests the fix for PR32926, in which the call to fcn
! Tests the fix for PR32926, in which the call to fcn
! in bar would cause an ICE because it had not been referenced
! in bar would cause an ICE because it had not been referenced
! in the namespace where it was declared.
! in the namespace where it was declared.
!
!
! Contributed by Ralph Baker Kearfott 
! Contributed by Ralph Baker Kearfott 
!
!
subroutine foobar1
subroutine foobar1
  common // chr
  common // chr
  character(8) :: chr
  character(8) :: chr
  chr = "foobar1"
  chr = "foobar1"
end subroutine
end subroutine
subroutine foobar2
subroutine foobar2
  common // chr
  common // chr
  character(8) :: chr
  character(8) :: chr
  chr = "foobar2"
  chr = "foobar2"
end subroutine
end subroutine
subroutine foo (fcn)
subroutine foo (fcn)
  external fcn
  external fcn
  call bar
  call bar
contains
contains
  subroutine bar
  subroutine bar
    call fcn
    call fcn
  end subroutine bar
  end subroutine bar
end subroutine foo
end subroutine foo
  external foo, foobar1, foobar2
  external foo, foobar1, foobar2
  common // chr
  common // chr
  character(8) :: chr
  character(8) :: chr
  call foo (foobar1)
  call foo (foobar1)
  if (chr .ne. "foobar1") call abort ()
  if (chr .ne. "foobar1") call abort ()
  call foo (foobar2)
  call foo (foobar2)
  if (chr .ne. "foobar2") call abort ()
  if (chr .ne. "foobar2") call abort ()
end
end
 
 

powered by: WebSVN 2.1.0

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