! { dg-do compile } ! ! checking invalid code for PROCEDURE POINTERS ! ! Contributed by Janus Weil PROCEDURE(REAL), POINTER :: ptr PROCEDURE(REAL), SAVE :: noptr ! { dg-error "attribute conflicts with" } REAL :: x abstract interface subroutine bar(a) integer :: a end subroutine bar end interface ptr => cos(4.0) ! { dg-error "Invalid procedure pointer assignment" } ptr => x ! { dg-error "Invalid procedure pointer assignment" } ptr => sin(x) ! { dg-error "Invalid procedure pointer assignment" } ptr => bar ! { dg-error "is invalid in procedure pointer assignment" } ALLOCATE(ptr) ! { dg-error "must be ALLOCATABLE" } end