brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · ab20d6f Raw
23 lines · plain
1! Test "nofinalizationneeded" is set to false for derived type2! containing polymorphic allocatable ultimate components.3!RUN: %flang_fc1 -fdebug-dump-symbols %s | FileCheck %s4 5  type :: t_base6  end type7  type :: t_container_not_polymorphic8     type(t_base), allocatable :: comp9  end type10  type :: t_container11     class(t_base), allocatable :: comp12  end type13  type, extends(t_container) :: t_container_extension14  end type15  type :: t_container_wrapper16    type(t_container_extension) :: wrapper17  end type18end19! CHECK: .dt.t_container, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=0_1,nodefinedassignment=0_1)20! CHECK: .dt.t_container_extension, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=0_1,nodefinedassignment=0_1)21! CHECK: .dt.t_container_not_polymorphic, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=1_1,nodefinedassignment=1_1)22! CHECK: .dt.t_container_wrapper, SAVE, TARGET (CompilerCreated, ReadOnly): {{.*}}noinitializationneeded=0_1,nodestructionneeded=0_1,nofinalizationneeded=0_1,nodefinedassignment=0_1)23