1! { dg-do compile }
2!
3! PR 54949: [F03] abstract procedure pointers not rejected
4!
5! Contributed by Janus Weil <janus@gcc.gnu.org>
6
7  implicit none
8
9  abstract interface
10    subroutine abssub1
11    end subroutine
12  end interface
13  pointer :: abssub1  ! { dg-error "PROCEDURE POINTER attribute conflicts with ABSTRACT attribute" }
14
15  pointer :: abssub2
16  abstract interface
17    subroutine abssub2  ! { dg-error "PROCEDURE POINTER attribute conflicts with ABSTRACT attribute" }
18    end subroutine
19  end interface
20
21  abssub1 => sub  ! { dg-error "is not a variable" }
22  abssub2 => sub
23
24contains
25
26  subroutine sub
27  end subroutine
28
29end
30