1! { dg-do compile } 2! 3! PR 54147: [F03] Interface checks for PPCs & deferred TBPs 4! 5! Contributed by Janus Weil <janus@gcc.gnu.org> 6 7 interface gen 8 procedure gen 9 end interface 10 11 type, abstract :: t1 12 contains 13 procedure(gen),deferred,nopass :: p1 14 procedure(gen2),deferred,nopass :: p2 ! { dg-error "may not be generic" } 15 end type 16 17 type, abstract :: t2 18 contains 19 procedure(sf),deferred,nopass :: p3 ! { dg-error "may not be a statement function" } 20 end type 21 22 type, abstract :: t3 23 contains 24 procedure(char),deferred,nopass :: p4 ! { dg-error "Intrinsic procedure" } 25 end type 26 27 interface gen2 28 procedure gen 29 end interface 30 31 sf(x) = x**2 ! { dg-warning "Obsolescent feature" } 32 33contains 34 35 subroutine gen 36 end subroutine 37 38end 39