1! { dg-do compile }
2!
3! PR fortran/39414: PROCEDURE statement double declaration bug
4!
5! Discovered by Paul Thomas <pault@gcc.gnu.org>
6! Modified by Janus Weil <janus@gcc.gnu.org>
7
8
9! forbidden
10
11procedure(integer) :: a
12integer :: a   ! { dg-error "already has basic type of" }
13
14integer :: b
15procedure(integer) :: b	  ! { dg-error "already has basic type of" }
16
17procedure(iabs) :: c
18integer :: c   ! { dg-error "may not have basic type of" }
19
20integer :: d
21procedure(iabs) :: d   ! { dg-error "already has basic type of" }
22
23! allowed
24
25integer :: e
26procedure() :: e
27
28procedure() :: f
29integer :: f
30
31end
32
33