summaryrefslogtreecommitdiffstats
path: root/llvm/tools
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
commit75d986935ee5071a14258d0c988f1645bbc5ebbd (patch)
tree612335d13902f69f579bd491f9370ded5007fe1d /llvm/tools
parent84715938923c4edb9f15a8ed1641467247e36918 (diff)
downloadbcm5719-llvm-75d986935ee5071a14258d0c988f1645bbc5ebbd.tar.gz
bcm5719-llvm-75d986935ee5071a14258d0c988f1645bbc5ebbd.zip
Fixed edis to tokenize instructions with no
operands correctly. llvm-svn: 102227
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/edis/EDDisassembler.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/tools/edis/EDDisassembler.cpp b/llvm/tools/edis/EDDisassembler.cpp
index b87fe62057d..00b5d8d33a0 100644
--- a/llvm/tools/edis/EDDisassembler.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud