summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2012-01-01 17:55:36 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2012-01-01 17:55:36 +0000
commit8943574b44bdc9470df67d91cec39ece85b7332f (patch)
treebb88c64d4592e975d3e40d0c63b9bd9a88514d29
parent55c6d57734cd2f141dc2d6912fc22746d5eeae54 (diff)
downloadllvm-8943574b44bdc9470df67d91cec39ece85b7332f.tar.gz
llvm-8943574b44bdc9470df67d91cec39ece85b7332f.tar.bz2
llvm-8943574b44bdc9470df67d91cec39ece85b7332f.tar.xz
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
-rw-r--r--lib/Target/X86/Disassembler/X86DisassemblerDecoder.c8
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))