Retro68/gcc/gcc/testsuite/gfortran.dg/external_procedures_3.f90
2018-12-28 16:30:48 +01:00

36 lines
728 B
Fortran

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