From 3eafccc03617dbfb9ae62320f9e7a01831c5304b Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Wed, 14 Jan 2015 06:14:36 +0000 Subject: [PATCH] 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 --- lib/Target/X86/AsmParser/X86AsmParser.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp index 02d48470615..d743aa6ef33 100644 --- a/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -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(*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; -- 2.11.0