mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-10 02:25:47 +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:
@@ -2277,11 +2277,11 @@ bool X86AsmParser::validateInstruction(MCInst &Inst, const OperandVector &Ops) {
|
|||||||
switch (Inst.getOpcode()) {
|
switch (Inst.getOpcode()) {
|
||||||
default: return true;
|
default: return true;
|
||||||
case X86::INT:
|
case X86::INT:
|
||||||
if (Inst.getNumOperands() == 0)
|
X86Operand &Op = static_cast<X86Operand &>(*Ops[1]);
|
||||||
return true;
|
assert(Op.isImm() && "expected immediate");
|
||||||
assert(Inst.getOperand(0).isImm() && "expected immediate");
|
int64_t Res;
|
||||||
if (Inst.getOperand(0).getImm() > 255) {
|
if (!Op.getImm()->EvaluateAsAbsolute(Res) || Res > 255) {
|
||||||
Error(Ops[1]->getStartLoc(), "interrupt vector must be in range [0-255]");
|
Error(Op.getStartLoc(), "interrupt vector must be in range [0-255]");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user