summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-03-20 22:36:38 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-03-20 22:36:38 +0000
commitfbd12cc36c46bc54db911f045406260811602adc (patch)
tree3a6c24c9f59a349130deb215a3c68ee54feae4bd /llvm/lib
parentd9d5b315abcfb85b39c8c34970864888fcdb1098 (diff)
downloadbcm5719-llvm-fbd12cc36c46bc54db911f045406260811602adc.tar.gz
bcm5719-llvm-fbd12cc36c46bc54db911f045406260811602adc.zip
MC/X86: Fix an MCOperand link, when we parsing shrld $1,%eax and friends; I believe this fixes the last memory leaks under test/MC.
llvm-svn: 99102
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index bfadd4e9fc4..47873d14a91 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -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;
}
OpenPOWER on IntegriCloud