! { dg-do run }
! { dg-options "-fdump-tree-original" }
!
! PR fortran/51435
!
! Contributed by darmar.xxl@gmail.com
!
module arr_m
    type arr_t
        real(8), dimension(:), allocatable :: rsk
    end type
    type arr_t2
        integer :: a = 77
    end type
end module arr_m
!*********************
module list_m
    use arr_m
    implicit none

    type(arr_t2), target :: tgt

    type my_list
        type(arr_t), pointer :: head => null()
    end type my_list
    type my_list2
        type(arr_t2), pointer :: head => tgt
    end type my_list2
end module list_m
!***********************
module worker_mod
    use list_m
    implicit none

    type data_all_t
        type(my_list) :: my_data
    end type data_all_t
    type data_all_t2
        type(my_list2) :: my_data
    end type data_all_t2
contains
    subroutine do_job()
        type(data_all_t) :: dum
        type(data_all_t2) :: dum2

        if (associated(dum%my_data%head)) then
          STOP 1
        else
            print *, 'OK: do_job my_data%head is NOT associated'
        end if

        if (dum2%my_data%head%a /= 77) &
          STOP 2
    end subroutine
end module
!***************
program hello
    use worker_mod
    implicit none
    call do_job()
end program

! { dg-final { scan-tree-dump-times "my_data.head = 0B" 1 "original" } }
! { dg-final { scan-tree-dump-times "my_data.head = &tgt" 1 "original" } }
