MC/X86: Fix an MCOperand link, when we parsing shrld $1,%eax and friends; I believe...
authorDaniel Dunbar <daniel@zuster.org>
Sat, 20 Mar 2010 22:36:38 +0000 (22:36 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Sat, 20 Mar 2010 22:36:38 +0000 (22:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99102 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/AsmParser/X86AsmParser.cpp

index bfadd4e9fc47012f23890993cf626d01568f81e1..47873d14a9114b613b147750c597544feedab08f 100644 (file)
@@ -569,8 +569,10 @@ ParseInstruction(const StringRef &Name, SMLoc NameLoc,
       Operands.size() == 3 &&
       static_cast<X86Operand*>(Operands[1])->isImm() &&
       isa<MCConstantExpr>(static_cast<X86Operand*>(Operands[1])->getImm()) &&
-      cast<MCConstantExpr>(static_cast<X86Operand*>(Operands[1])->getImm())->getValue() == 1)
+      cast<MCConstantExpr>(static_cast<X86Operand*>(Operands[1])->getImm())->getValue() == 1) {
+    delete Operands[1];
     Operands.erase(Operands.begin() + 1);
+  }
 
   return false;
 }