diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2010-03-20 22:36:38 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2010-03-20 22:36:38 +0000 |
| commit | 652faf844e0418f65617dc857e056a0dbad318a5 (patch) | |
| tree | 28105f3159cfb842d8b2700fbedd440b9a52c951 /lib/Target/X86/AsmParser | |
| parent | d40c5773d743994484aa0cbb1c3a04aa2c609667 (diff) | |
| download | external_llvm-652faf844e0418f65617dc857e056a0dbad318a5.zip external_llvm-652faf844e0418f65617dc857e056a0dbad318a5.tar.gz external_llvm-652faf844e0418f65617dc857e056a0dbad318a5.tar.bz2 | |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99102 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/AsmParser')
| -rw-r--r-- | lib/Target/X86/AsmParser/X86AsmParser.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp index bfadd4e..47873d1 100644 --- a/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/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; } |
