! { dg-do compile } ! { dg-options "-fcray-pointer" } ! Bad type for pointer subroutine err1 real ipt real array(10) pointer (ipt, array) ! { dg-error "integer" } end subroutine err1 ! Multiple declarations for the same pointee subroutine err2 real array(10) pointer (ipt1, array) pointer (ipt2, array) ! { dg-error "multiple" } end subroutine err2 ! Vector assignment to an assumed size array subroutine err3 real target(10) real array(*) pointer (ipt, array) ipt = loc (target) array = 0 ! { dg-error "upper bound in the last dimension" } end subroutine err3 subroutine err4 pointer (ipt, ipt) ! { dg-error "POINTER attribute" } end subroutine err4 ! duplicate array specs subroutine err5 pointer (ipt, array(7)) real array(10) ! { dg-error "Duplicate array" } end subroutine err5 subroutine err6 real array(10) pointer (ipt, array(7)) ! { dg-error "Duplicate array" } end subroutine err6 ! parsing stuff subroutine err7 pointer ( ! { dg-error "variable name" } pointer (ipt ! { dg-error "Expected" } pointer (ipt, ! { dg-error "variable name" } pointer (ipt,a1 ! { dg-error "Expected" } pointer (ipt,a2), ! { dg-error "Expected" } pointer (ipt,a3),( ! { dg-error "variable name" } pointer (ipt,a4),(ipt2 ! { dg-error "Expected" } pointer (ipt,a5),(ipt2, ! { dg-error "variable name" } pointer (ipt,a6),(ipt2,a7 ! { dg-error "Expected" } end subroutine err7 ! more attributes subroutine err8(array) real array(10) integer dim(2) integer, pointer :: f90ptr integer, target :: f90targ pointer (ipt, array) ! { dg-error "DUMMY" } pointer (dim, elt1) ! { dg-error "DIMENSION" } pointer (f90ptr, elt2) ! { dg-error "POINTER" } pointer (ipt, f90ptr) ! { dg-error "POINTER" } pointer (f90targ, elt3) ! { dg-error "TARGET" } pointer (ipt, f90targ) ! { dg-error "TARGET" } end subroutine err8