summaryrefslogtreecommitdiff
path: root/tools/llvm-mc/Disassembler.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2011-02-22 02:09:15 +0000
committerSean Callanan <scallanan@apple.com>2011-02-22 02:09:15 +0000
commitb21e49c8fe241965716511013e0aed35970ecdb1 (patch)
tree0968c40814da7e3d5836e9a2435baca8ec5d84e2 /tools/llvm-mc/Disassembler.cpp
parent41dfd2b61ba8548cc586371bbb27c966cc34517b (diff)
downloadllvm-b21e49c8fe241965716511013e0aed35970ecdb1.tar.gz
llvm-b21e49c8fe241965716511013e0aed35970ecdb1.tar.bz2
llvm-b21e49c8fe241965716511013e0aed35970ecdb1.tar.xz
Fixed llvm-mc in edis mode to use the result of
operand.evaluate as an error code, not as the contents of the operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126181 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-mc/Disassembler.cpp')
-rw-r--r--tools/llvm-mc/Disassembler.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/llvm-mc/Disassembler.cpp b/tools/llvm-mc/Disassembler.cpp
index c29d82a2cb..d76c36155f 100644
--- a/tools/llvm-mc/Disassembler.cpp
+++ b/tools/llvm-mc/Disassembler.cpp
@@ -328,7 +328,10 @@ int Disassembler::disassembleEnhanced(const std::string &TS,
uint64_t evaluatedResult;
void *Arg[] = { disassembler, &Out };
- evaluatedResult = operand->evaluate(evaluatedResult, verboseEvaluator, Arg);
+ if (operand->evaluate(evaluatedResult, verboseEvaluator, Arg)) {
+ errs() << "error: Couldn't evaluate an operand\n";
+ return -1;
+ }
Out << "=" << evaluatedResult << " ";
}