Skip to content

Commit 29d911d

Browse files
committed
fixup! handle non-standard languages
1 parent 159ee47 commit 29d911d

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

lldb/source/Target/Language.cpp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -542,9 +542,21 @@ Language::Language() = default;
542542
// Destructor
543543
Language::~Language() = default;
544544

545+
static llvm::dwarf::SourceLanguage
546+
ToDwarfSourceLanguage(lldb::LanguageType language_type) {
547+
if (language_type < lldb::eLanguageTypeLastStandardLanguage)
548+
return static_cast<llvm::dwarf::SourceLanguage>(language_type);
549+
550+
switch (language_type) {
551+
case eLanguageTypeMipsAssembler:
552+
return llvm::dwarf::DW_LANG_Mips_Assembler;
553+
default:
554+
return llvm::dwarf::DW_LANG_hi_user;
555+
}
556+
}
557+
545558
SourceLanguage::SourceLanguage(lldb::LanguageType language_type) {
546-
auto lname =
547-
llvm::dwarf::toDW_LNAME((llvm::dwarf::SourceLanguage)language_type);
559+
auto lname = llvm::dwarf::toDW_LNAME(ToDwarfSourceLanguage(language_type));
548560
if (!lname)
549561
return;
550562
name = lname->first;

0 commit comments

Comments
 (0)