1! { dg-do compile } 2! 3! PR 45290: [F08] pointer initialization 4! 5! Contributed by Janus Weil <janus@gcc.gnu.org> 6 7module m1 8 implicit none 9 type :: t 10 integer, pointer :: p 11 integer :: i 12 end type 13 integer, target :: i 14 type(t), target :: x 15 integer, pointer :: p1 => i 16 integer, pointer :: p2 => p1 ! { dg-error "must have the TARGET attribute" } 17 integer, pointer :: p3 => x%p ! { dg-error "must have the TARGET attribute" } 18 integer, pointer :: p4 => x%i 19 integer, pointer :: p5 => u ! { dg-error "has no IMPLICIT type" } 20end module m1 21 22 23module m2 24 25 type :: t 26 procedure(s), pointer, nopass :: ppc 27 end type 28 type(t) :: x 29 procedure(s), pointer :: pp1 => s 30 procedure(s), pointer :: pp2 => pp1 ! { dg-error "may not be a procedure pointer" } 31 procedure(s), pointer :: pp3 => t%ppc ! { dg-error "Symbol 't' at .1. has no IMPLICIT type" } 32 33contains 34 35 subroutine s 36 end subroutine 37 38end module m2 39