summaryrefslogtreecommitdiff
path: root/tools/edis
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2010-04-24 01:00:16 +0000
committerSean Callanan <scallanan@apple.com>2010-04-24 01:00:16 +0000
commita870256d7daaa807344a83b807a3e17df2f6852c (patch)
treea2dbd733d6e5b096f6f7a1a0498b59213619a727 /tools/edis
parent37ff5c66dbc1ec0ac77d2a20ef4e248245061e3f (diff)
downloadllvm-a870256d7daaa807344a83b807a3e17df2f6852c.tar.gz
llvm-a870256d7daaa807344a83b807a3e17df2f6852c.tar.bz2
llvm-a870256d7daaa807344a83b807a3e17df2f6852c.tar.xz
Fixed edis to tokenize instructions with no
operands correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102227 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/edis')
-rw-r--r--tools/edis/EDDisassembler.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/edis/EDDisassembler.cpp b/tools/edis/EDDisassembler.cpp
index b87fe62057..00b5d8d33a 100644
--- a/tools/edis/EDDisassembler.cpp
+++ b/tools/edis/EDDisassembler.cpp
@@ -368,12 +368,14 @@ int EDDisassembler::parseInst(SmallVectorImpl<MCParsedAsmOperand*> &operands,
OwningPtr<TargetAsmParser> TargetParser(Tgt->createAsmParser(genericParser));
AsmToken OpcodeToken = genericParser.Lex();
- genericParser.Lex(); // consume next token, because specificParser expects us to
-
+ AsmToken NextToken = genericParser.Lex(); // consume next token, because specificParser expects us to
+
if (OpcodeToken.is(AsmToken::Identifier)) {
instName = OpcodeToken.getString();
instLoc = OpcodeToken.getLoc();
- if (TargetParser->ParseInstruction(instName, instLoc, operands))
+
+ if (NextToken.isNot(AsmToken::Eof) &&
+ TargetParser->ParseInstruction(instName, instLoc, operands))
ret = -1;
} else {
ret = -1;