Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lldb/source/Target/Language.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -549,7 +549,7 @@ Language::~Language() = default;

static std::optional<llvm::dwarf::SourceLanguage>
ToDwarfSourceLanguage(lldb::LanguageType language_type) {
if (language_type < lldb::eLanguageTypeLastStandardLanguage)
if (language_type <= lldb::eLanguageTypeLastStandardLanguage)
return static_cast<llvm::dwarf::SourceLanguage>(language_type);

switch (language_type) {
Expand Down
13 changes: 13 additions & 0 deletions lldb/unittests/Target/LanguageTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,16 @@ TEST_F(LanguageTest, SourceLanguage_AsLanguageType) {
EXPECT_EQ(SourceLanguage(eLanguageTypeUnknown).AsLanguageType(),
eLanguageTypeUnknown);
}

TEST_F(LanguageTest, SourceLanguage_LastStandardLanguage) {
// eLanguageTypeLastStandardLanguage should be treated as a standard DWARF
// language.
SourceLanguage lang(eLanguageTypeLastStandardLanguage);
EXPECT_TRUE(lang);

// It should have a valid description (not "Unknown").
EXPECT_NE(lang.GetDescription(), "Unknown");

// It should convert to the correct language type.
EXPECT_EQ(lang.AsLanguageType(), eLanguageTypeLastStandardLanguage);
}
Loading