[Lldb-commits] [lldb] [lldb] Fix feature format in DisassemblerLLVMC constructor (PR #184355)

via lldb-commits lldb-commits at lists.llvm.org
Tue Mar 3 06:59:30 PST 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Georgiy Samoylov (sga-sc)

<details>
<summary>Changes</summary>

At this moment feature string in `DisassemblerLLVMC` constructor for example for RISC-V architecture can be something like `+m,+f,+d,+a,+m,`. Last comma at this string is redundant judging by this comment https://github.com/llvm/llvm-project/blob/c9d065abc15846deb95a23fb0b3e1855d3d26314/llvm/include/llvm/TargetParser/SubtargetFeature.h#L167-L174

This patch is also needed for successful test passing in https://github.com/llvm/llvm-project/pull/180943

---
Full diff: https://github.com/llvm/llvm-project/pull/184355.diff


1 Files Affected:

- (modified) lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp (+6-2) 


``````````diff
diff --git a/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp b/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
index 6384b5e1bb57c..36329e40ab8a2 100644
--- a/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
+++ b/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
@@ -1617,6 +1617,10 @@ DisassemblerLLVMC::DisassemblerLLVMC(const ArchSpec &arch,
     }
   }
 
+  // We should delete the last comma from string
+  if (!features_str.empty() && features_str.back() == ',')
+    features_str.pop_back();
+
   // We use m_disasm_up.get() to tell whether we are valid or not, so if this
   // isn't good for some reason, we won't be valid and FindPlugin will fail and
   // we won't get used.
@@ -1638,9 +1642,9 @@ DisassemblerLLVMC::DisassemblerLLVMC(const ArchSpec &arch,
     /* Create alternate disassembler for MIPS16 and microMIPS */
     uint32_t arch_flags = arch.GetFlags();
     if (arch_flags & ArchSpec::eMIPSAse_mips16)
-      features_str += "+mips16,";
+      features_str += ",+mips16";
     else if (arch_flags & ArchSpec::eMIPSAse_micromips)
-      features_str += "+micromips,";
+      features_str += ",+micromips";
 
     m_alternate_disasm_up = MCDisasmInstance::Create(
         triple_str, cpu, features_str.c_str(), flavor, *this);

``````````

</details>


https://github.com/llvm/llvm-project/pull/184355


More information about the lldb-commits mailing list