1
0
mirror of https://github.com/c64scene-ar/llvm-6502.git synced 2025-03-18 12:31:26 +00:00

Use the operand vector instead so inline assembly can be validated too

The buildbots got upset after r225941, this should hopefully fix things.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225954 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Majnemer 2015-01-14 06:14:36 +00:00
parent df6c8efd9d
commit 3eafccc036

@ -2277,11 +2277,11 @@ bool X86AsmParser::validateInstruction(MCInst &Inst, const OperandVector &Ops) {
switch (Inst.getOpcode()) {
default: return true;
case X86::INT:
if (Inst.getNumOperands() == 0)
return true;
assert(Inst.getOperand(0).isImm() && "expected immediate");
if (Inst.getOperand(0).getImm() > 255) {
Error(Ops[1]->getStartLoc(), "interrupt vector must be in range [0-255]");
X86Operand &Op = static_cast<X86Operand &>(*Ops[1]);
assert(Op.isImm() && "expected immediate");
int64_t Res;
if (!Op.getImm()->EvaluateAsAbsolute(Res) || Res > 255) {
Error(Op.getStartLoc(), "interrupt vector must be in range [0-255]");
return false;
}
return true;