blob: 9ffd7540d8176a959c389597d8a15e38433fde59 [file] [log] [blame]
! { dg-do compile }
! PR fortran/101762 - ICE on non-constant pointer initialization targets
! Contributed by G.Steinmetz
program p
integer, target :: a(3) = [7, 8, 9]
integer, pointer :: x => a(3)
integer, pointer :: y => a(n()) ! { dg-error "constant expression" }
integer, pointer :: z(:) => a(:n()) ! { dg-error "constant expression" }
character(7), target :: c = "abcdefg"
character(3), pointer :: c0 => c(2:4)
character(3), pointer :: c1 => c(m():) ! { dg-error "constant expression" }
character(3), pointer :: c2 => c(:m()) ! { dg-error "constant expression" }
print *, x, y
contains
pure integer function k ()
k = 2
end function k
subroutine s ()
integer, pointer :: yy => a(k()) ! { dg-error "constant expression" }
print *, yy
end subroutine s
end