1! { dg-do compile }
2!
3! PR 56968: [4.7/4.8/4.9 Regression] [F03] Issue with a procedure defined with a generic name returning procedure pointer
4!
5! Contributed by Samuel Debionne <samuel.debionne@ujf-grenoble.fr>
6
7module test
8
9  interface generic_name_get_proc_ptr
10    module procedure specific_name_get_proc_ptr
11  end interface
12
13  abstract interface
14    double precision function foo(arg1)
15      real, intent(in) :: arg1
16    end function
17  end interface
18
19contains
20
21  function specific_name_get_proc_ptr() result(res)
22    procedure(foo), pointer :: res
23  end function
24
25end module test
26
27program crash_test
28    use :: test
29
30    procedure(foo), pointer :: ptr
31
32    ptr => specific_name_get_proc_ptr()
33    ptr => generic_name_get_proc_ptr()
34
35end program
36