blob: 08bdf176d8b42df9961e90d59c31d56816b0601e [file] [log] [blame]
! { dg-do compile }
! PR fortran/50549 - should reject pointer assignments of different lengths
! in structure constructors
program test
implicit none
type t
character(2), pointer :: p2
end type t
type t2
character(2), pointer :: p(:)
end type t2
type td
character(:), pointer :: pd
end type td
interface
function f1 ()
character(1), pointer :: f1
end function f1
function f2 ()
character(2), pointer :: f2
end function f2
end interface
character(1), target :: p1
character(1), pointer :: q1(:)
character(2), pointer :: q2(:)
type(t) :: u
type(t2) :: u2
type(td) :: v
u = t(p1) ! { dg-error "Unequal character lengths" }
u = t(f1()) ! { dg-error "Unequal character lengths" }
u = t(f2()) ! OK
u2 = t2(q1) ! { dg-error "Unequal character lengths" }
u2 = t2(q2) ! OK
v = td(p1) ! OK
v = td(f1()) ! OK
end