mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-10 08:40:41 +00:00
change the MC "ParseInstruction" interface to make it the
implementation's job to check for and lex the EndOfStatement marker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113347 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9607c40601
commit
34e53140c2
@ -917,8 +917,6 @@ bool AsmParser::ParseStatement() {
|
||||
SmallVector<MCParsedAsmOperand*, 8> ParsedOperands;
|
||||
bool HadError = getTargetParser().ParseInstruction(Opcode.str(), IDLoc,
|
||||
ParsedOperands);
|
||||
if (!HadError && Lexer.isNot(AsmToken::EndOfStatement))
|
||||
HadError = TokError("unexpected token in argument list");
|
||||
|
||||
// Dump the parsed representation, if requested.
|
||||
if (getShowParsedOperands()) {
|
||||
@ -945,11 +943,6 @@ bool AsmParser::ParseStatement() {
|
||||
HadError = true;
|
||||
}
|
||||
|
||||
// If there was no error, consume the end-of-statement token. Otherwise this
|
||||
// will be done by our caller.
|
||||
if (!HadError)
|
||||
Lex();
|
||||
|
||||
// Free any parsed operands.
|
||||
for (unsigned i = 0, e = ParsedOperands.size(); i != e; ++i)
|
||||
delete ParsedOperands[i];
|
||||
|
@ -737,6 +737,11 @@ bool ARMAsmParser::ParseInstruction(StringRef Name, SMLoc NameLoc,
|
||||
Operands.push_back(Op.take());
|
||||
}
|
||||
}
|
||||
|
||||
if (getLexer().isNot(AsmToken::EndOfStatement))
|
||||
return TokError("unexpected token in argument list");
|
||||
Parser.Lex(); // Consume the EndOfStatement
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -786,6 +786,10 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (getLexer().isNot(AsmToken::EndOfStatement))
|
||||
return TokError("unexpected token in argument list");
|
||||
Parser.Lex(); // Consume the EndOfStatement
|
||||
|
||||
// FIXME: Hack to handle recognizing s{hr,ar,hl}? $1.
|
||||
if ((Name.startswith("shr") || Name.startswith("sar") ||
|
||||
|
Loading…
x
Reference in New Issue
Block a user