! { dg-do run } | |
! Tests the fix for PR19546 in which an ICE would result from | |
! setting the parent result in a contained procedure. | |
! Check that parent alternate entry results can be referenced. | |
! | |
function f() | |
integer :: f, g | |
f = 42 | |
call sub1 () | |
if (f.eq.1) f = 2 | |
return | |
entry g() | |
g = 99 | |
call sub2 () | |
if (g.eq.77) g = 33 | |
contains | |
subroutine sub1 | |
if (f.eq.42) f = 1 | |
end subroutine sub1 | |
subroutine sub2 | |
if (g.eq.99) g = g - 22 | |
end subroutine sub2 | |
end function f | |
integer, external :: f, g | |
if (f ().ne.2) STOP 1 | |
if (g ().ne.33) STOP 2 | |
end |