diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-01-01 17:55:36 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-01-01 17:55:36 +0000 |
commit | 8943574b44bdc9470df67d91cec39ece85b7332f (patch) | |
tree | bb88c64d4592e975d3e40d0c63b9bd9a88514d29 /lib/Target/X86/Disassembler/X86DisassemblerDecoder.c | |
parent | 55c6d57734cd2f141dc2d6912fc22746d5eeae54 (diff) |
X86Disassembler: Fix undefined behavior found by GCC 4.6
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147404 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/Disassembler/X86DisassemblerDecoder.c')
-rw-r--r-- | lib/Target/X86/Disassembler/X86DisassemblerDecoder.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c b/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c index c915df0049..2ab2f74af9 100644 --- a/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c +++ b/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c @@ -1502,9 +1502,11 @@ static int readOperands(struct InternalInstruction* insn) { return -1; case ENCODING_IB: if (sawRegImm) { - // saw a register immediate so don't read again and instead split the previous immediate - // FIXME: This is a hack - insn->immediates[insn->numImmediatesConsumed++] = insn->immediates[insn->numImmediatesConsumed - 1] & 0xf; + // Saw a register immediate so don't read again and instead split the + // previous immediate. FIXME: This is a hack + insn->immediates[insn->numImmediatesConsumed] = + insn->immediates[insn->numImmediatesConsumed - 1] & 0xf; + ++insn->numImmediatesConsumed; break; } if (readImmediate(insn, 1)) |