26 lines
720 B
Fortran
26 lines
720 B
Fortran
! { dg-do compile }
|
|
!
|
|
! checking invalid code for PROCEDURE POINTERS
|
|
!
|
|
! Contributed by Janus Weil <janus@gcc.gnu.org>
|
|
|
|
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
|