Skip to content

Commit 2c80507

Browse files
committed
Fixing format (hopefully) and trying to add a test
1 parent 1fccd09 commit 2c80507

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

lldb/include/lldb/Symbol/SymbolFileOnDemand.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,9 @@ class SymbolFileOnDemand : public lldb_private::SymbolFile {
186186

187187
uint32_t GetAbilities() override;
188188

189-
Symtab *GetSymtab(bool can_create = true) override { return m_sym_file_impl->GetSymtab(can_create); }
189+
Symtab *GetSymtab(bool can_create = true) override {
190+
return m_sym_file_impl->GetSymtab(can_create);
191+
}
190192

191193
ObjectFile *GetObjectFile() override {
192194
return m_sym_file_impl->GetObjectFile();

lldb/source/Symbol/ObjectFile.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -734,7 +734,6 @@ void llvm::format_provider<ObjectFile::Strata>::format(
734734
}
735735
}
736736

737-
738737
Symtab *ObjectFile::GetSymtab(bool can_create) {
739738
ModuleSP module_sp(GetModule());
740739
if (module_sp && can_create) {

lldb/unittests/Symbol/SymtabTest.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -721,7 +721,7 @@ TEST_F(SymtabTest, TestDecodeCStringMaps) {
721721
ASSERT_NE(symbol, nullptr);
722722
}
723723

724-
TEST_F(SymtabTest, TestSymtabCreatedOnDemand) {
724+
TEST_F(SymtabTest, TestSymbolFileAndSymbolTableCreatedOnDemand) {
725725
auto ExpectedFile = TestFile::fromYaml(R"(
726726
--- !ELF
727727
FileHeader:
@@ -749,10 +749,20 @@ TEST_F(SymtabTest, TestSymtabCreatedOnDemand) {
749749
ASSERT_THAT_EXPECTED(ExpectedFile, llvm::Succeeded());
750750
auto module_sp = std::make_shared<Module>(ExpectedFile->moduleSpec());
751751

752-
// The symbol table should not be loaded by default.
752+
// The symbol file should not be created by default.
753753
Symtab *module_symtab = module_sp->GetSymtab(/*can_create=*/false);
754754
ASSERT_EQ(module_symtab, nullptr);
755755

756+
// Even if the symbol file is created, the symbol table should not be created by default.
757+
758+
// TODO:
759+
// I need to create a symbol file here, but without causing it to parse the symbol table.
760+
// See next line as a failed attempt.
761+
762+
// module_sp->GetSymbolFile(/*can_create=*/true); // Cannot do this because it will parse the symbol table.
763+
module_symtab = module_sp->GetSymtab(/*can_create=*/false);
764+
ASSERT_EQ(module_symtab, nullptr);
765+
756766
// But it should be created on demand.
757767
module_symtab = module_sp->GetSymtab(/*can_create=*/true);
758768
ASSERT_NE(module_symtab, nullptr);

0 commit comments

Comments
 (0)