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
This commit is contained in:
Benjamin Kramer 2012-01-01 17:55:36 +00:00
parent 55c6d57734
commit 8943574b44

View File

@ -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))