xref: /llvm-project/flang/test/Semantics/typeinfo07.f90 (revision 710503fc1b9ace4b88cc132b4306346d508cef7f)
1! Test "nofinalizationneeded" is set to false for derived type
2! containing polymorphic allocatable ultimate components.
3!RUN: %flang_fc1 -fdebug-dump-symbols %s | FileCheck %s
4
5  type :: t_base
6  end type
7  type :: t_container_not_polymorphic
8     type(t_base), allocatable :: comp
9  end type
10  type :: t_container
11     class(t_base), allocatable :: comp
12  end type
13  type, extends(t_container) :: t_container_extension
14  end type
15  type :: t_container_wrapper
16    type(t_container_extension) :: wrapper
17  end type
18end
19! CHECK: .dt.t_container, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=0_1)
20! CHECK: .dt.t_container_extension, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=0_1)
21! CHECK: .dt.t_container_not_polymorphic, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=1_1)
22! CHECK: .dt.t_container_wrapper, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=0_1)
23