1! { dg-do compile }
2! { dg-options "" }
3!
4! PR fortran/77584
5! Regression where "structure" and "record" greedily matched a
6! declaration-type-spec in a procedure-declaration-statement (R1212).
7!
8module dec_structure_15
9  abstract interface
10     double precision function structure_()
11     end function structure_
12  end interface
13  abstract interface
14     double precision function record_()
15     end function record_
16  end interface
17contains
18  double precision function a()
19    procedure(structure_), pointer :: b ! regression: Unclassifiable statement
20    a = 0.0
21  end function
22  double precision function a2()
23    procedure(record_), pointer :: b ! regression: Unclassifiable statement
24    a2 = 0.0
25  end function
26end module
27