diff options
author | Sean Callanan <scallanan@apple.com> | 2010-04-24 01:00:16 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2010-04-24 01:00:16 +0000 |
commit | a870256d7daaa807344a83b807a3e17df2f6852c (patch) | |
tree | a2dbd733d6e5b096f6f7a1a0498b59213619a727 | |
parent | 37ff5c66dbc1ec0ac77d2a20ef4e248245061e3f (diff) |
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
-rw-r--r-- | tools/edis/EDDisassembler.cpp | 8 |
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; |