aboutsummaryrefslogtreecommitdiff
path: root/tools/edis/EDDisassembler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/edis/EDDisassembler.cpp')
-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;