1! { dg-do run }
2! Tests the fix for PR19546 in which an ICE would result from
3! setting the parent result in a contained procedure.
4! Check that parent function results can be referenced in modules.
5!
6module m
7contains
8  function f()
9    integer :: f
10    f = 42
11    call sub ()
12    if (f.eq.1) f = f + 1
13  contains
14    subroutine sub
15     if (f.eq.42) f = f - 41
16    end subroutine sub
17  end function f
18end module m
19
20  use m
21  if (f ().ne.2) STOP 1
22end
23