diff options
Diffstat (limited to 'llvm/unittests/CodeGen/DIEHashTest.cpp')
-rw-r--r-- | llvm/unittests/CodeGen/DIEHashTest.cpp | 127 |
1 files changed, 63 insertions, 64 deletions
diff --git a/llvm/unittests/CodeGen/DIEHashTest.cpp b/llvm/unittests/CodeGen/DIEHashTest.cpp index 5476463e9da..e3a9e562827 100644 --- a/llvm/unittests/CodeGen/DIEHashTest.cpp +++ b/llvm/unittests/CodeGen/DIEHashTest.cpp @@ -38,7 +38,7 @@ public: TEST_F(DIEHashTest, Data1) { DIEHash Hash; - DIE Die(dwarf::DW_TAG_base_type); + DIE &Die = *DIE::get(Alloc, dwarf::DW_TAG_base_type); DIEInteger Size(4); Die.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Size); uint64_t MD5Res = Hash.computeTypeSignature(Die); @@ -47,7 +47,7 @@ TEST_F(DIEHashTest, Data1) { // struct {}; TEST_F(DIEHashTest, TrivialType) { - DIE Unnamed(dwarf::DW_TAG_structure_type); + DIE &Unnamed = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger One(1); Unnamed.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, One); @@ -62,7 +62,7 @@ TEST_F(DIEHashTest, TrivialType) { // struct foo { }; TEST_F(DIEHashTest, NamedType) { - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger One(1); DIEString FooStr = getString("foo"); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); @@ -76,9 +76,9 @@ TEST_F(DIEHashTest, NamedType) { // namespace space { struct foo { }; } TEST_F(DIEHashTest, NamespacedType) { - DIE CU(dwarf::DW_TAG_compile_unit); + DIE &CU = *DIE::get(Alloc, dwarf::DW_TAG_compile_unit); - auto Space = make_unique<DIE>(dwarf::DW_TAG_namespace); + auto Space = DIE::get(Alloc, dwarf::DW_TAG_namespace); DIEInteger One(1); DIEString SpaceStr = getString("space"); Space->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, SpaceStr); @@ -87,7 +87,7 @@ TEST_F(DIEHashTest, NamespacedType) { One); // sibling? - auto Foo = make_unique<DIE>(dwarf::DW_TAG_structure_type); + auto Foo = DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEString FooStr = getString("foo"); Foo->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); Foo->addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, One); @@ -104,11 +104,11 @@ TEST_F(DIEHashTest, NamespacedType) { // struct { int member; }; TEST_F(DIEHashTest, TypeWithMember) { - DIE Unnamed(dwarf::DW_TAG_structure_type); + DIE &Unnamed = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger Four(4); Unnamed.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Four); - DIE Int(dwarf::DW_TAG_base_type); + DIE &Int = *DIE::get(Alloc, dwarf::DW_TAG_base_type); DIEString IntStr = getString("int"); Int.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, IntStr); Int.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Four); @@ -117,7 +117,7 @@ TEST_F(DIEHashTest, TypeWithMember) { DIEEntry IntRef(Int); - auto Member = make_unique<DIE>(dwarf::DW_TAG_member); + auto Member = DIE::get(Alloc, dwarf::DW_TAG_member); DIEString MemberStr = getString("member"); Member->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemberStr); DIEInteger Zero(0); @@ -134,12 +134,12 @@ TEST_F(DIEHashTest, TypeWithMember) { // struct foo { int mem1, mem2; }; TEST_F(DIEHashTest, ReusedType) { - DIE Unnamed(dwarf::DW_TAG_structure_type); + DIE &Unnamed = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger Eight(8); Unnamed.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); DIEInteger Four(4); - DIE Int(dwarf::DW_TAG_base_type); + DIE &Int = *DIE::get(Alloc, dwarf::DW_TAG_base_type); DIEString IntStr = getString("int"); Int.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, IntStr); Int.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Four); @@ -148,7 +148,7 @@ TEST_F(DIEHashTest, ReusedType) { DIEEntry IntRef(Int); - auto Mem1 = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem1 = DIE::get(Alloc, dwarf::DW_TAG_member); DIEString Mem1Str = getString("mem1"); Mem1->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, Mem1Str); DIEInteger Zero(0); @@ -158,7 +158,7 @@ TEST_F(DIEHashTest, ReusedType) { Unnamed.addChild(std::move(Mem1)); - auto Mem2 = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem2 = DIE::get(Alloc, dwarf::DW_TAG_member); DIEString Mem2Str = getString("mem2"); Mem2->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, Mem2Str); Mem2->addValue(Alloc, dwarf::DW_AT_data_member_location, dwarf::DW_FORM_data1, @@ -174,13 +174,13 @@ TEST_F(DIEHashTest, ReusedType) { // struct foo { static foo f; }; TEST_F(DIEHashTest, RecursiveType) { - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger One(1); Foo.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, One); DIEString FooStr = getString("foo"); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); - auto Mem = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem = DIE::get(Alloc, dwarf::DW_TAG_member); DIEString MemStr = getString("mem"); Mem->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemStr); DIEEntry FooRef(Foo); @@ -196,20 +196,20 @@ TEST_F(DIEHashTest, RecursiveType) { // struct foo { foo *mem; }; TEST_F(DIEHashTest, Pointer) { - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger Eight(8); Foo.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); DIEString FooStr = getString("foo"); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); - auto Mem = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem = DIE::get(Alloc, dwarf::DW_TAG_member); DIEString MemStr = getString("mem"); Mem->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemStr); DIEInteger Zero(0); Mem->addValue(Alloc, dwarf::DW_AT_data_member_location, dwarf::DW_FORM_data1, Zero); - DIE FooPtr(dwarf::DW_TAG_pointer_type); + DIE &FooPtr = *DIE::get(Alloc, dwarf::DW_TAG_pointer_type); FooPtr.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); DIEEntry FooRef(Foo); FooPtr.addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, FooRef); @@ -226,25 +226,25 @@ TEST_F(DIEHashTest, Pointer) { // struct foo { foo &mem; }; TEST_F(DIEHashTest, Reference) { - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger Eight(8); Foo.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); DIEString FooStr = getString("foo"); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); - auto Mem = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem = DIE::get(Alloc, dwarf::DW_TAG_member); DIEString MemStr = getString("mem"); Mem->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemStr); DIEInteger Zero(0); Mem->addValue(Alloc, dwarf::DW_AT_data_member_location, dwarf::DW_FORM_data1, Zero); - DIE FooRef(dwarf::DW_TAG_reference_type); + DIE &FooRef = *DIE::get(Alloc, dwarf::DW_TAG_reference_type); FooRef.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); DIEEntry FooEntry(Foo); FooRef.addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, FooEntry); - DIE FooRefConst(dwarf::DW_TAG_const_type); + DIE &FooRefConst = *DIE::get(Alloc, dwarf::DW_TAG_const_type); DIEEntry FooRefRef(FooRef); FooRefConst.addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, FooRefRef); @@ -261,25 +261,25 @@ TEST_F(DIEHashTest, Reference) { // struct foo { foo &&mem; }; TEST_F(DIEHashTest, RValueReference) { - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger Eight(8); Foo.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); DIEString FooStr = getString("foo"); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); - auto Mem = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem = DIE::get(Alloc, dwarf::DW_TAG_member); DIEString MemStr = getString("mem"); Mem->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemStr); DIEInteger Zero(0); Mem->addValue(Alloc, dwarf::DW_AT_data_member_location, dwarf::DW_FORM_data1, Zero); - DIE FooRef(dwarf::DW_TAG_rvalue_reference_type); + DIE &FooRef = *DIE::get(Alloc, dwarf::DW_TAG_rvalue_reference_type); FooRef.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); DIEEntry FooEntry(Foo); FooRef.addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, FooEntry); - DIE FooRefConst(dwarf::DW_TAG_const_type); + DIE &FooRefConst = *DIE::get(Alloc, dwarf::DW_TAG_const_type); DIEEntry FooRefRef(FooRef); FooRefConst.addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, FooRefRef); @@ -296,20 +296,20 @@ TEST_F(DIEHashTest, RValueReference) { // struct foo { foo foo::*mem; }; TEST_F(DIEHashTest, PtrToMember) { - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger Eight(8); Foo.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); DIEString FooStr = getString("foo"); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); - auto Mem = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem = DIE::get(Alloc, dwarf::DW_TAG_member); DIEString MemStr = getString("mem"); Mem->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemStr); DIEInteger Zero(0); Mem->addValue(Alloc, dwarf::DW_AT_data_member_location, dwarf::DW_FORM_data1, Zero); - DIE PtrToFooMem(dwarf::DW_TAG_ptr_to_member_type); + DIE &PtrToFooMem = *DIE::get(Alloc, dwarf::DW_TAG_ptr_to_member_type); DIEEntry FooEntry(Foo); PtrToFooMem.addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, FooEntry); PtrToFooMem.addValue(Alloc, dwarf::DW_AT_containing_type, dwarf::DW_FORM_ref4, @@ -339,21 +339,21 @@ TEST_F(DIEHashTest, PtrToMemberDeclDefMatch) { DIEString MemStr = getString("mem"); uint64_t MD5ResDecl; { - DIE Bar(dwarf::DW_TAG_structure_type); + DIE &Bar = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); Bar.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, BarStr); Bar.addValue(Alloc, dwarf::DW_AT_declaration, dwarf::DW_FORM_flag_present, One); - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); Foo.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); - auto Mem = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem = DIE::get(Alloc, dwarf::DW_TAG_member); Mem->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemStr); Mem->addValue(Alloc, dwarf::DW_AT_data_member_location, dwarf::DW_FORM_data1, Zero); - DIE PtrToFooMem(dwarf::DW_TAG_ptr_to_member_type); + DIE &PtrToFooMem = *DIE::get(Alloc, dwarf::DW_TAG_ptr_to_member_type); DIEEntry BarEntry(Bar); PtrToFooMem.addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, BarEntry); @@ -371,20 +371,20 @@ TEST_F(DIEHashTest, PtrToMemberDeclDefMatch) { } uint64_t MD5ResDef; { - DIE Bar(dwarf::DW_TAG_structure_type); + DIE &Bar = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); Bar.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, BarStr); Bar.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, One); - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); Foo.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); - auto Mem = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem = DIE::get(Alloc, dwarf::DW_TAG_member); Mem->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemStr); Mem->addValue(Alloc, dwarf::DW_AT_data_member_location, dwarf::DW_FORM_data1, Zero); - DIE PtrToFooMem(dwarf::DW_TAG_ptr_to_member_type); + DIE &PtrToFooMem = *DIE::get(Alloc, dwarf::DW_TAG_ptr_to_member_type); DIEEntry BarEntry(Bar); PtrToFooMem.addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, BarEntry); @@ -417,21 +417,21 @@ TEST_F(DIEHashTest, PtrToMemberDeclDefMisMatch) { DIEString MemStr = getString("mem"); uint64_t MD5ResDecl; { - DIE Bar(dwarf::DW_TAG_structure_type); + DIE &Bar = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); Bar.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, BarStr); Bar.addValue(Alloc, dwarf::DW_AT_declaration, dwarf::DW_FORM_flag_present, One); - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); Foo.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); - auto Mem = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem = DIE::get(Alloc, dwarf::DW_TAG_member); Mem->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemStr); Mem->addValue(Alloc, dwarf::DW_AT_data_member_location, dwarf::DW_FORM_data1, Zero); - DIE PtrToFooMem(dwarf::DW_TAG_ptr_to_member_type); + DIE &PtrToFooMem = *DIE::get(Alloc, dwarf::DW_TAG_ptr_to_member_type); DIEEntry BarEntry(Bar); PtrToFooMem.addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, BarEntry); @@ -448,20 +448,20 @@ TEST_F(DIEHashTest, PtrToMemberDeclDefMisMatch) { } uint64_t MD5ResDef; { - DIE Bar(dwarf::DW_TAG_structure_type); + DIE &Bar = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); Bar.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, BarStr); Bar.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, One); - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); Foo.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); - auto Mem = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem = DIE::get(Alloc, dwarf::DW_TAG_member); Mem->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemStr); Mem->addValue(Alloc, dwarf::DW_AT_data_member_location, dwarf::DW_FORM_data1, Zero); - DIE PtrToFooMem(dwarf::DW_TAG_ptr_to_member_type); + DIE &PtrToFooMem = *DIE::get(Alloc, dwarf::DW_TAG_ptr_to_member_type); DIEEntry BarEntry(Bar); PtrToFooMem.addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, BarEntry); @@ -493,19 +493,19 @@ TEST_F(DIEHashTest, RefUnnamedType) { DIEString FooStr = getString("foo"); DIEString MemStr = getString("mem"); - DIE Unnamed(dwarf::DW_TAG_structure_type); + DIE &Unnamed = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); Unnamed.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, One); - DIE Foo(dwarf::DW_TAG_structure_type); + DIE &Foo = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); Foo.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); Foo.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); - auto Mem = make_unique<DIE>(dwarf::DW_TAG_member); + auto Mem = DIE::get(Alloc, dwarf::DW_TAG_member); Mem->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, MemStr); Mem->addValue(Alloc, dwarf::DW_AT_data_member_location, dwarf::DW_FORM_data1, Zero); - DIE UnnamedPtr(dwarf::DW_TAG_pointer_type); + DIE &UnnamedPtr = *DIE::get(Alloc, dwarf::DW_TAG_pointer_type); UnnamedPtr.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Eight); DIEEntry UnnamedRef(Unnamed); @@ -524,11 +524,11 @@ TEST_F(DIEHashTest, RefUnnamedType) { // struct { struct foo { }; }; TEST_F(DIEHashTest, NestedType) { - DIE Unnamed(dwarf::DW_TAG_structure_type); + DIE &Unnamed = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger One(1); Unnamed.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, One); - auto Foo = make_unique<DIE>(dwarf::DW_TAG_structure_type); + auto Foo = DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEString FooStr = getString("foo"); Foo->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FooStr); Foo->addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, One); @@ -543,11 +543,11 @@ TEST_F(DIEHashTest, NestedType) { // struct { static void func(); }; TEST_F(DIEHashTest, MemberFunc) { - DIE Unnamed(dwarf::DW_TAG_structure_type); + DIE &Unnamed = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger One(1); Unnamed.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, One); - auto Func = make_unique<DIE>(dwarf::DW_TAG_subprogram); + auto Func = DIE::get(Alloc, dwarf::DW_TAG_subprogram); DIEString FuncStr = getString("func"); Func->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FuncStr); @@ -563,7 +563,7 @@ TEST_F(DIEHashTest, MemberFunc) { // static void func(); // }; TEST_F(DIEHashTest, MemberFuncFlag) { - DIE A(dwarf::DW_TAG_structure_type); + DIE &A = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger One(1); DIEString AStr = getString("A"); A.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, AStr); @@ -571,7 +571,7 @@ TEST_F(DIEHashTest, MemberFuncFlag) { A.addValue(Alloc, dwarf::DW_AT_decl_file, dwarf::DW_FORM_data1, One); A.addValue(Alloc, dwarf::DW_AT_decl_line, dwarf::DW_FORM_data1, One); - auto Func = make_unique<DIE>(dwarf::DW_TAG_subprogram); + auto Func = DIE::get(Alloc, dwarf::DW_TAG_subprogram); DIEString FuncStr = getString("func"); DIEString FuncLinkage = getString("_ZN1A4funcEv"); DIEInteger Two(2); @@ -599,7 +599,7 @@ TEST_F(DIEHashTest, MemberFuncFlag) { // }; // A a; TEST_F(DIEHashTest, MemberSdata) { - DIE A(dwarf::DW_TAG_structure_type); + DIE &A = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger One(1); DIEString AStr = getString("A"); A.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, AStr); @@ -610,17 +610,17 @@ TEST_F(DIEHashTest, MemberSdata) { DIEInteger Four(4); DIEInteger Five(5); DIEString FStr = getString("int"); - DIE IntTyDIE(dwarf::DW_TAG_base_type); + DIE &IntTyDIE = *DIE::get(Alloc, dwarf::DW_TAG_base_type); IntTyDIE.addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Four); IntTyDIE.addValue(Alloc, dwarf::DW_AT_encoding, dwarf::DW_FORM_data1, Five); IntTyDIE.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FStr); DIEEntry IntTy(IntTyDIE); - auto PITyDIE = make_unique<DIE>(dwarf::DW_TAG_const_type); + auto PITyDIE = DIE::get(Alloc, dwarf::DW_TAG_const_type); PITyDIE->addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, IntTy); DIEEntry PITy(*PITyDIE); - auto PI = make_unique<DIE>(dwarf::DW_TAG_member); + auto PI = DIE::get(Alloc, dwarf::DW_TAG_member); DIEString PIStr = getString("PI"); DIEInteger Two(2); DIEInteger NegThree(-3); @@ -645,7 +645,7 @@ TEST_F(DIEHashTest, MemberSdata) { // }; // A a; TEST_F(DIEHashTest, MemberBlock) { - DIE A(dwarf::DW_TAG_structure_type); + DIE &A = *DIE::get(Alloc, dwarf::DW_TAG_structure_type); DIEInteger One(1); DIEString AStr = getString("A"); A.addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, AStr); @@ -655,19 +655,18 @@ TEST_F(DIEHashTest, MemberBlock) { DIEInteger Four(4); DIEString FStr = getString("float"); - auto FloatTyDIE = make_unique<DIE>(dwarf::DW_TAG_base_type); + auto FloatTyDIE = DIE::get(Alloc, dwarf::DW_TAG_base_type); FloatTyDIE->addValue(Alloc, dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Four); FloatTyDIE->addValue(Alloc, dwarf::DW_AT_encoding, dwarf::DW_FORM_data1, Four); FloatTyDIE->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, FStr); - DIEEntry FloatTy(*FloatTyDIE); - auto PITyDIE = make_unique<DIE>(dwarf::DW_TAG_const_type); + auto PITyDIE = DIE::get(Alloc, dwarf::DW_TAG_const_type); PITyDIE->addValue(Alloc, dwarf::DW_AT_type, dwarf::DW_FORM_ref4, FloatTy); DIEEntry PITy(*PITyDIE); - auto PI = make_unique<DIE>(dwarf::DW_TAG_member); + auto PI = DIE::get(Alloc, dwarf::DW_TAG_member); DIEString PIStr = getString("PI"); DIEInteger Two(2); PI->addValue(Alloc, dwarf::DW_AT_name, dwarf::DW_FORM_strp, PIStr); |