1! { dg-do run }
2!
3! PR 51082: [F03] Wrong result for a pointer to a proc-pointer component
4!
5! Contributed by Tobias Burnus <burnus@gcc.gnu.org>
6
7program ala
8  implicit none
9
10  type process_list
11    procedure(ala1), pointer, nopass :: process
12  end type
13
14  type(process_list), target  :: p_list
15  type(process_list), pointer :: p
16
17  p_list%process => ala1
18  p => p_list
19
20   write(*,*) p_list%process(1.0)
21   write(*,*) p%process(1.0)       !!!! failed
22
23contains
24
25  real function ala1(x)
26    real, intent(in) :: x
27    ala1 = x
28  end function
29
30end program
31