1! { dg-do run }
2!
3! PR 47240: [F03] segfault with procedure pointer component
4!
5! Contributed by Martien Hulsen <m.a.hulsen@tue.nl>
6
7  type t
8    procedure (fun), pointer, nopass :: p
9  end type
10  type(t) :: x
11  real, dimension(2) :: r
12  x%p => fun
13  r = evaluate (x%p)
14  if (r(1) /= 5 .and. r(2) /= 6) STOP 1
15contains
16  function fun ()
17    real, dimension(2) :: fun
18    fun = (/ 5, 6 /)
19  end function
20  function evaluate ( dummy )
21    real, dimension(2) :: evaluate
22    procedure(fun) :: dummy
23    evaluate = dummy ()
24  end function
25end
26