! Test "nofinalizationneeded" is set to false for derived type
! containing polymorphic allocatable ultimate components.
!RUN: %flang_fc1 -fdebug-dump-symbols %s | FileCheck %s

  type :: t_base
  end type
  type :: t_container_not_polymorphic
     type(t_base), allocatable :: comp
  end type
  type :: t_container
     class(t_base), allocatable :: comp
  end type
  type, extends(t_container) :: t_container_extension
  end type
  type :: t_container_wrapper
    type(t_container_extension) :: wrapper
  end type
end
! CHECK: .dt.t_container, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=0_1,nodefinedassignment=0_1)
! CHECK: .dt.t_container_extension, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=0_1,nodefinedassignment=0_1)
! CHECK: .dt.t_container_not_polymorphic, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=1_1,nodefinedassignment=1_1)
! CHECK: .dt.t_container_wrapper, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=0_1,nodefinedassignment=0_1)
