blob: d0209a101c95b9773a8a1699bededfa7411c43c7 [file] [log] [blame]
! { dg-do compile }
! { dg-options "-fdump-tree-original" }
!
! Test the fix for PR80850 in which the _len field was not being
! set for 'arg' in the call to 'foo'.
!
type :: mytype
integer :: i
end type
class (mytype), pointer :: c
allocate (c, source = mytype (99_8))
call foo(c)
call bar(c)
deallocate (c)
contains
subroutine foo (arg)
class(*) :: arg
select type (arg)
type is (mytype)
if (arg%i .ne. 99_8) STOP 1
end select
end subroutine
subroutine bar (arg)
class(mytype) :: arg
select type (arg)
type is (mytype)
if (arg%i .ne. 99_8) STOP 2
end select
end subroutine
end
! { dg-final { scan-tree-dump-times "arg.*._len" 1 "original" } }