Author: David Spickett Date: 2023-01-27T11:36:42Z New Revision: 1efde67d990c198b1480b2ab7b820f86388b84da
URL: https://github.com/llvm/llvm-project/commit/1efde67d990c198b1480b2ab7b820f86388b84da DIFF: https://github.com/llvm/llvm-project/commit/1efde67d990c198b1480b2ab7b820f86388b84da.diff LOG: Revert "[lldb] Add support for DW_AT_default_value in template params" This reverts commit 1cf52e540242f968e0cf789587bcf76c01332aeb. Due to test failures on Arm and AArch64 bots: https://lab.llvm.org/buildbot/#/builders/96/builds/34718 (which were obscured by an earlier build failure) Added: Modified: lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/TestDataFormatterLibcxxSharedPtr.py lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/TestDataFormatterLibcxxUniquePtr.py lldb/unittests/SymbolFile/DWARF/CMakeLists.txt lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp Removed: lldb/unittests/SymbolFile/DWARF/Inputs/DW_AT_default_value-test.yaml ################################################################################ diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp index 4429b4fcae2a0..49c8fae64ed8a 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp @@ -2003,7 +2003,6 @@ bool DWARFASTParserClang::ParseTemplateDIE( CompilerType clang_type; uint64_t uval64 = 0; bool uval64_valid = false; - bool is_default_template_arg = false; if (num_attributes > 0) { DWARFFormValue form_value; for (size_t i = 0; i < num_attributes; ++i) { @@ -2034,10 +2033,6 @@ bool DWARFASTParserClang::ParseTemplateDIE( uval64 = form_value.Unsigned(); } break; - case DW_AT_default_value: - if (attributes.ExtractFormValueAtIndex(i, form_value)) - is_default_template_arg = form_value.Boolean(); - break; default: break; } @@ -2063,19 +2058,16 @@ bool DWARFASTParserClang::ParseTemplateDIE( template_param_infos.InsertArg( name, clang::TemplateArgument(ast, llvm::APSInt(apint, !is_signed), - ClangUtil::GetQualType(clang_type), - is_default_template_arg)); + ClangUtil::GetQualType(clang_type))); } else { template_param_infos.InsertArg( - name, clang::TemplateArgument(ClangUtil::GetQualType(clang_type), - /*isNullPtr*/ false, - is_default_template_arg)); + name, + clang::TemplateArgument(ClangUtil::GetQualType(clang_type))); } } else { auto *tplt_type = m_ast.CreateTemplateTemplateParmDecl(template_name); template_param_infos.InsertArg( - name, clang::TemplateArgument(clang::TemplateName(tplt_type), - is_default_template_arg)); + name, clang::TemplateArgument(clang::TemplateName(tplt_type))); } } } diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/TestDataFormatterLibcxxSharedPtr.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/TestDataFormatterLibcxxSharedPtr.py index b20ac521c7c32..c646fccc2f5eb 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/TestDataFormatterLibcxxSharedPtr.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/TestDataFormatterLibcxxSharedPtr.py @@ -60,7 +60,7 @@ def test_shared_ptr_variables(self): valobj = self.expect_var_path( "sp_str", - type="std::shared_ptr<std::basic_string<char> >", + type="std::shared_ptr<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >", children=[ValueCheck(name="__ptr_", summary='"hello"')], ) self.assertRegex(valobj.summary, r'^"hello"( strong=1)? weak=1$') diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py index 7ac0efb4ca742..07b1aff74cfcd 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py @@ -70,7 +70,8 @@ def cleanup(): '(%s::u32string) u32_string = U"🍄🍅🍆🍌"'%ns, # FIXME: This should have a 'U' prefix. '(%s::u32string) u32_empty = ""'%ns, - '(%s::basic_string<unsigned char>) uchar = "aaaaa"'%(ns), + '(%s::basic_string<unsigned char, %s::char_traits<unsigned char>, ' + '%s::allocator<unsigned char> >) uchar = "aaaaa"'%(ns,ns,ns), '(%s::string *) null_str = nullptr'%ns, ]) @@ -107,7 +108,8 @@ def cleanup(): '(%s::u16string) u16_string = u"ß水氶"'%ns, '(%s::u32string) u32_string = U"🍄🍅🍆🍌"'%ns, '(%s::u32string) u32_empty = ""'%ns, - '(%s::basic_string<unsigned char>) uchar = "aaaaa"'%(ns), + '(%s::basic_string<unsigned char, %s::char_traits<unsigned char>, ' + '%s::allocator<unsigned char> >) uchar = "aaaaa"'%(ns,ns,ns), '(%s::string *) null_str = nullptr'%ns, ]) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py index 7ebfabcf5fd69..db82e7c65e033 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py @@ -96,10 +96,10 @@ def cleanup(): type='std::u32string_view', summary='""') self.expect_var_path('uchar_source', - type='std::basic_string<unsigned char>', + type='std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >', summary='"aaaaaaaaaa"') self.expect_var_path('uchar', - type='std::basic_string_view<unsigned char>', + type='std::basic_string_view<unsigned char, std::char_traits<unsigned char> >', summary='"aaaaa"') self.expect_var_path('oops', type='std::string_view', @@ -172,10 +172,10 @@ def cleanup(): type='std::u32string_view', summary='""') self.expect_var_path('uchar_source', - type='std::basic_string<unsigned char>', + type='std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >', summary='"aaaaaaaaaa"') self.expect_var_path('uchar', - type='std::basic_string_view<unsigned char>', + type='std::basic_string_view<unsigned char, std::char_traits<unsigned char> >', summary='"aaaaa"') self.runCmd('cont') diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/TestDataFormatterLibcxxUniquePtr.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/TestDataFormatterLibcxxUniquePtr.py index a0d12b4f2061d..70efdd84f242a 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/TestDataFormatterLibcxxUniquePtr.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/TestDataFormatterLibcxxUniquePtr.py @@ -22,7 +22,7 @@ def test_unique_ptr_variables(self): valobj = self.expect_var_path( "up_empty", - type="std::unique_ptr<int>", + type="std::unique_ptr<int, std::default_delete<int> >", summary="nullptr", children=[ValueCheck(name="__value_")], ) @@ -36,7 +36,7 @@ def test_unique_ptr_variables(self): valobj = self.expect_var_path( "up_int", - type="std::unique_ptr<int>", + type="std::unique_ptr<int, std::default_delete<int> >", summary="10", children=[ValueCheck(name="__value_")], ) @@ -44,7 +44,7 @@ def test_unique_ptr_variables(self): valobj = self.expect_var_path( "up_int_ref", - type="std::unique_ptr<int> &", + type="std::unique_ptr<int, std::default_delete<int> > &", summary="10", children=[ValueCheck(name="__value_")], ) @@ -52,7 +52,7 @@ def test_unique_ptr_variables(self): valobj = self.expect_var_path( "up_int_ref_ref", - type="std::unique_ptr<int> &&", + type="std::unique_ptr<int, std::default_delete<int> > &&", summary="10", children=[ValueCheck(name="__value_")], ) @@ -60,13 +60,13 @@ def test_unique_ptr_variables(self): valobj = self.expect_var_path( "up_str", - type="std::unique_ptr<std::basic_string<char> >", + type="std::unique_ptr<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::default_delete<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >", summary='"hello"', children=[ValueCheck(name="__value_", summary='"hello"')], ) valobj = self.expect_var_path( - "up_user", type="std::unique_ptr<User>" + "up_user", type="std::unique_ptr<User, std::default_delete<User> >" ) self.assertRegex(valobj.summary, "^User @ 0x0*[1-9a-f][0-9a-f]+$") self.assertNotEqual(valobj.child[0].unsigned, 0) diff --git a/lldb/unittests/SymbolFile/DWARF/CMakeLists.txt b/lldb/unittests/SymbolFile/DWARF/CMakeLists.txt index 4a37ece124291..6af866153a138 100644 --- a/lldb/unittests/SymbolFile/DWARF/CMakeLists.txt +++ b/lldb/unittests/SymbolFile/DWARF/CMakeLists.txt @@ -24,7 +24,6 @@ add_lldb_unittest(SymbolFileDWARFTests ) set(test_inputs - test-dwarf.exe - DW_AT_default_value-test.yaml) + test-dwarf.exe) add_unittest_inputs(SymbolFileDWARFTests "${test_inputs}") diff --git a/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp b/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp index ecdb159916629..4d1c2aefb0a44 100644 --- a/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp +++ b/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp @@ -11,7 +11,6 @@ #include "Plugins/SymbolFile/DWARF/DWARFDIE.h" #include "TestingSupport/Symbol/ClangTestUtils.h" #include "TestingSupport/Symbol/YAMLModuleTester.h" -#include "lldb/Core/Debugger.h" #include "gmock/gmock.h" #include "gtest/gtest.h" @@ -20,16 +19,7 @@ using namespace lldb_private; using namespace lldb_private::dwarf; namespace { -static std::once_flag debugger_initialize_flag; - -class DWARFASTParserClangTests : public testing::Test { - void SetUp() override { - HostInfo::Initialize(); - std::call_once(debugger_initialize_flag, - []() { Debugger::Initialize(nullptr); }); - } - void TearDown() override { HostInfo::Terminate(); } -}; +class DWARFASTParserClangTests : public testing::Test {}; class DWARFASTParserClangStub : public DWARFASTParserClang { public: @@ -414,53 +404,3 @@ TEST_F(ExtractIntFromFormValueTest, TestUnsignedInt) { EXPECT_THAT_EXPECTED(Extract(ast.UnsignedIntTy, uint_max + 2), llvm::Failed()); } - -TEST_F(DWARFASTParserClangTests, TestDefaultTemplateParamParsing) { - // Tests parsing DW_AT_default_value for template parameters. - auto BufferOrError = llvm::MemoryBuffer::getFile( - GetInputFilePath("DW_AT_default_value-test.yaml"), /*IsText=*/true); - ASSERT_TRUE(BufferOrError); - YAMLModuleTester t(BufferOrError.get()->getBuffer()); - - DWARFUnit *unit = t.GetDwarfUnit(); - ASSERT_NE(unit, nullptr); - const DWARFDebugInfoEntry *cu_entry = unit->DIE().GetDIE(); - ASSERT_EQ(cu_entry->Tag(), DW_TAG_compile_unit); - DWARFDIE cu_die(unit, cu_entry); - - auto holder = std::make_unique<clang_utils::TypeSystemClangHolder>("ast"); - auto &ast_ctx = *holder->GetAST(); - DWARFASTParserClangStub ast_parser(ast_ctx); - - llvm::SmallVector<lldb::TypeSP, 2> types; - for (DWARFDIE die : cu_die.children()) { - if (die.Tag() == DW_TAG_class_type) { - SymbolContext sc; - bool new_type = false; - types.push_back(ast_parser.ParseTypeFromDWARF(sc, die, &new_type)); - } - } - - ASSERT_EQ(types.size(), 3U); - - auto check_decl = [](auto const *decl) { - clang::ClassTemplateSpecializationDecl const *ctsd = - llvm::dyn_cast_or_null<clang::ClassTemplateSpecializationDecl>(decl); - ASSERT_NE(ctsd, nullptr); - - auto const &args = ctsd->getTemplateArgs(); - ASSERT_GT(args.size(), 0U); - - for (auto const &arg : args.asArray()) { - EXPECT_TRUE(arg.getIsDefaulted()); - } - }; - - for (auto const &type_sp : types) { - ASSERT_NE(type_sp, nullptr); - auto const *decl = ClangUtil::GetAsTagDecl(type_sp->GetFullCompilerType()); - if (decl->getName() == "bar" || decl->getName() == "baz") { - check_decl(decl); - } - } -} diff --git a/lldb/unittests/SymbolFile/DWARF/Inputs/DW_AT_default_value-test.yaml b/lldb/unittests/SymbolFile/DWARF/Inputs/DW_AT_default_value-test.yaml deleted file mode 100644 index 2e83d37affbde..0000000000000 --- a/lldb/unittests/SymbolFile/DWARF/Inputs/DW_AT_default_value-test.yaml +++ /dev/null @@ -1,314 +0,0 @@ -# template <typename T> -# class foo {}; -# -# template <template <typename T> class CT = foo> -# class baz {}; -# -# template <typename T = char, int i = 3, bool b = true, -# typename c = foo<T>> -# class bar {}; -# -# int main() { -# bar<> br; -# baz<> bz; -# return 0; -# } -# -# YAML generated on Linux using obj2yaml on the above program -# compiled with Clang. ---- !ELF -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - Type: ET_REL - Machine: EM_AARCH64 - SectionHeaderStringTable: .strtab -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - AddressAlign: 0x4 - Content: FF4300D1E0031F2AFF0F00B9FF430091C0035FD6 - - Name: .linker-options - Type: SHT_LLVM_LINKER_OPTIONS - Flags: [ SHF_EXCLUDE ] - AddressAlign: 0x1 - Content: '' - - Name: .debug_abbrev - Type: SHT_PROGBITS - AddressAlign: 0x1 - Content: 011101252513050325721710171B25111B120673170000022E01111B1206401803253A0B3B0B49133F190000033400021803253A0B3B0B4913000004240003253E0B0B0B0000050201360B03250B0B3A0B3B0B0000062F00491303251E190000073000491303251E191C0D0000083000491303251E191C0F000009020003253C1900000A8682010003251E19904225000000 - - Name: .debug_info - Type: SHT_PROGBITS - AddressAlign: 0x1 - Content: 7F00000005000108000000000100210001000000000000000002001400000000000000020014000000016F03000B490000000302910B05000C4D0000000302910A0E000D78000000000404050405050D010009066E000000070749000000080308720000000A0106760000000C000406080104090201090B0505110100050A0F100000 - - Name: .debug_str_offsets - Type: SHT_PROGBITS - AddressAlign: 0x1 - Content: 4C00000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - - Name: .comment - Type: SHT_PROGBITS - Flags: [ SHF_MERGE, SHF_STRINGS ] - AddressAlign: 0x1 - EntSize: 0x1 - Content: 00636C616E672076657273696F6E2031362E302E30202868747470733A2F2F6769746875622E636F6D2F6C6C766D2F6C6C766D2D70726F6A65637420343764323862376138323638653337616130646537366238353966343530386533646261633663652900 - - Name: .note.GNU-stack - Type: SHT_PROGBITS - AddressAlign: 0x1 - - Name: .eh_frame - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC ] - AddressAlign: 0x8 - Content: 1000000000000000017A5200017C1E011B0C1F001800000018000000000000001400000000440E104C0E000000000000 - - Name: .debug_line - Type: SHT_PROGBITS - AddressAlign: 0x1 - Content: 580000000500080037000000010101FB0E0D00010101010000000100000101011F010000000003011F020F051E01000000000019537E33C1D1006B79E3D1C33D6EE6A304000009020000000000000000030A0105050ABD0208000101 - - Name: .debug_line_str - Type: SHT_PROGBITS - Flags: [ SHF_MERGE, SHF_STRINGS ] - AddressAlign: 0x1 - EntSize: 0x1 - Content: 2F686F6D652F6761726465690064656661756C74732E63707000 - - Name: .rela.debug_info - Type: SHT_RELA - Flags: [ SHF_INFO_LINK ] - Link: .symtab - AddressAlign: 0x8 - Info: .debug_info - Relocations: - - Offset: 0x8 - Symbol: .debug_abbrev - Type: R_AARCH64_ABS32 - - Offset: 0x11 - Symbol: .debug_str_offsets - Type: R_AARCH64_ABS32 - Addend: 8 - - Offset: 0x15 - Symbol: .debug_line - Type: R_AARCH64_ABS32 - - Offset: 0x1F - Symbol: .debug_addr - Type: R_AARCH64_ABS32 - Addend: 8 - - Name: .rela.debug_str_offsets - Type: SHT_RELA - Flags: [ SHF_INFO_LINK ] - Link: .symtab - AddressAlign: 0x8 - Info: .debug_str_offsets - Relocations: - - Offset: 0x8 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - - Offset: 0xC - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 101 - - Offset: 0x10 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 114 - - Offset: 0x14 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 127 - - Offset: 0x18 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 132 - - Offset: 0x1C - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 136 - - Offset: 0x20 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 139 - - Offset: 0x24 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 144 - - Offset: 0x28 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 146 - - Offset: 0x2C - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 148 - - Offset: 0x30 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 153 - - Offset: 0x34 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 155 - - Offset: 0x38 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 165 - - Offset: 0x3C - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 167 - - Offset: 0x40 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 198 - - Offset: 0x44 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 201 - - Offset: 0x48 - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 204 - - Offset: 0x4C - Symbol: .debug_str - Type: R_AARCH64_ABS32 - Addend: 208 - - Name: .rela.debug_addr - Type: SHT_RELA - Flags: [ SHF_INFO_LINK ] - Link: .symtab - AddressAlign: 0x8 - Info: .debug_addr - Relocations: - - Offset: 0x8 - Symbol: .text - Type: R_AARCH64_ABS64 - - Name: .rela.eh_frame - Type: SHT_RELA - Flags: [ SHF_INFO_LINK ] - Link: .symtab - AddressAlign: 0x8 - Info: .eh_frame - Relocations: - - Offset: 0x1C - Symbol: .text - Type: R_AARCH64_PREL32 - - Name: .rela.debug_line - Type: SHT_RELA - Flags: [ SHF_INFO_LINK ] - Link: .symtab - AddressAlign: 0x8 - Info: .debug_line - Relocations: - - Offset: 0x22 - Symbol: .debug_line_str - Type: R_AARCH64_ABS32 - - Offset: 0x2E - Symbol: .debug_line_str - Type: R_AARCH64_ABS32 - Addend: 13 - - Offset: 0x48 - Symbol: .text - Type: R_AARCH64_ABS64 - - Name: .llvm_addrsig - Type: SHT_LLVM_ADDRSIG - Flags: [ SHF_EXCLUDE ] - Link: .symtab - AddressAlign: 0x1 - Offset: 0x818 - Symbols: [ ] - - Type: SectionHeaderTable - Sections: - - Name: .strtab - - Name: .text - - Name: .linker-options - - Name: .debug_abbrev - - Name: .debug_info - - Name: .rela.debug_info - - Name: .debug_str_offsets - - Name: .rela.debug_str_offsets - - Name: .debug_str - - Name: .debug_addr - - Name: .rela.debug_addr - - Name: .comment - - Name: .note.GNU-stack - - Name: .eh_frame - - Name: .rela.eh_frame - - Name: .debug_line - - Name: .rela.debug_line - - Name: .debug_line_str - - Name: .llvm_addrsig - - Name: .symtab -Symbols: - - Name: defaults.cpp - Type: STT_FILE - Index: SHN_ABS - - Name: .text - Type: STT_SECTION - Section: .text - - Name: '$x.0' - Section: .text - - Name: .debug_abbrev - Type: STT_SECTION - Section: .debug_abbrev - - Name: '$d.1' - Section: .debug_abbrev - - Name: '$d.2' - Section: .debug_info - - Name: .debug_str_offsets - Type: STT_SECTION - Section: .debug_str_offsets - - Name: '$d.3' - Section: .debug_str_offsets - - Name: .debug_str - Type: STT_SECTION - Section: .debug_str - - Name: '$d.4' - Section: .debug_str - - Name: .debug_addr - Type: STT_SECTION - Section: .debug_addr - - Name: '$d.5' - Section: .debug_addr - - Name: '$d.6' - Section: .comment - - Name: '$d.7' - Section: .eh_frame - - Name: .debug_line - Type: STT_SECTION - Section: .debug_line - - Name: '$d.8' - Section: .debug_line - - Name: .debug_line_str - Type: STT_SECTION - Section: .debug_line_str - - Name: '$d.9' - Section: .debug_line_str - - Name: main - Type: STT_FUNC - Section: .text - Binding: STB_GLOBAL - Size: 0x14 -DWARF: - debug_str: - - 'clang version 16.0.0 (https://github.com/llvm/llvm-project 47d28b7a8268e37aa0de76b859f4508e3dbac6ce)' - - defaults.cpp - - '/home/gardei' - - main - - int - - br - - char - - T - - i - - bool - - b - - 'foo<char>' - - c - - 'bar<char, 3, true, foo<char> >' - - bz - - CT - - foo - - 'baz<foo>' - debug_addr: - - Length: 0xC - Version: 0x5 - AddressSize: 0x8 - Entries: - - {} -... _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits