! { dg-do run }
! PR 25217: INTENT(OUT) dummies of derived type with default initializers shall
! be (re)initialized upon procedure entry, unless they are ALLOCATABLE.
! Modified to take account of the regression, identified by Martin Tees
! http://gcc.gnu.org/ml/fortran/2006-08/msg00276.html and fixed with
! PR 28788.
module dt
    type :: drv
        integer :: a(3) = [ 1, 2, 3 ]
        character(3) :: s = "abc"
        real, pointer :: p => null()
    end type drv
end module dt

module subs
contains
    subroutine foo(fb)
        use dt
        type(drv), intent(out) :: fb
        call sub (fb)
    end subroutine foo

    subroutine sub(fa)
        use dt
        type(drv), intent(out) :: fa

        if (any(fa%a /= [ 1, 2, 3 ])) STOP 1
        if (fa%s /= "abc") STOP 2
        if (associated(fa%p)) STOP 3
    end subroutine sub
end module subs

program main
    use dt
    use subs
    implicit none
    type(drv) :: aa
    type(drv), allocatable :: ab(:)
    real, target :: x = 99, y = 999

    aa = drv ([ 4, 5, 6], "def", x)
    call sub(aa)

    aa = drv ([ 7, 8, 9], "ghi", y)
    call foo(aa)
end program main

