1! { dg-do compile }
2!
3! PR 42418: PROCEDURE: Rejects interface which is both specific and generic procedure
4!
5! Contributed by Tobias Burnus <burnus@gcc.gnu.org>
6
7  interface gen
8    procedure gen
9  end interface
10
11  procedure(gen)  :: p1
12  procedure(gen2) :: p2  ! { dg-error "may not be generic" }
13  procedure(sf)   :: p3  ! { dg-error "may not be a statement function" }
14  procedure(char) :: p4
15
16  interface gen2
17    procedure char
18  end interface
19
20  sf(x) = x**2  ! { dg-warning "Obsolescent feature" }
21
22contains
23
24  subroutine gen
25  end subroutine
26
27  subroutine char
28  end subroutine
29
30end
31