[llvm] [llvm-mc] Propagate invalid-token errors from byteArrayFromString (PR #217533)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 19 23:02:10 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-mc
Author: StevenYangCC
<details>
<summary>Changes</summary>
byteArrayFromString always returned false after skipping an invalid non-hex token, so llvm-mc exited 0 despite printing errors. Track whether an error occurred so the process status matches.
---
Full diff: https://github.com/llvm/llvm-project/pull/217533.diff
1 Files Affected:
- (modified) llvm/tools/llvm-mc/Disassembler.cpp (+3-1)
``````````diff
diff --git a/llvm/tools/llvm-mc/Disassembler.cpp b/llvm/tools/llvm-mc/Disassembler.cpp
index ba6e79d0b7016..2a97ef1ae4db4 100644
--- a/llvm/tools/llvm-mc/Disassembler.cpp
+++ b/llvm/tools/llvm-mc/Disassembler.cpp
@@ -116,6 +116,7 @@ static bool SkipToToken(StringRef &Str) {
static bool byteArrayFromString(ByteArrayTy &ByteArray, StringRef &Str,
SourceMgr &SM, bool HexBytes) {
+ bool ErrorOccurred = false;
while (SkipToToken(Str)) {
// Handled by higher level
if (Str[0] == '[' || Str[0] == ']')
@@ -151,6 +152,7 @@ static bool byteArrayFromString(ByteArrayTy &ByteArray, StringRef &Str,
Str = Str.substr(Str.find('\n'));
ByteArray.first.clear();
ByteArray.second.clear();
+ ErrorOccurred = true;
continue;
}
@@ -159,7 +161,7 @@ static bool byteArrayFromString(ByteArrayTy &ByteArray, StringRef &Str,
Str = Str.substr(Next);
}
- return false;
+ return ErrorOccurred;
}
int Disassembler::disassemble(const Target &T, MCSubtargetInfo &STI,
``````````
</details>
https://github.com/llvm/llvm-project/pull/217533
More information about the llvm-commits
mailing list