Fix signed integer overflow in PPCInstPrinter.

This bug was reported by UBSan.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216917 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alexey Samsonov 2014-09-02 17:38:34 +00:00
parent 7bda613297
commit 93accb4815

View File

@ -268,7 +268,7 @@ void PPCInstPrinter::printAbsBranchOperand(const MCInst *MI, unsigned OpNo,
if (!MI->getOperand(OpNo).isImm())
return printOperand(MI, OpNo, O);
O << (int)MI->getOperand(OpNo).getImm()*4;
O << SignExtend32<32>((unsigned)MI->getOperand(OpNo).getImm() << 2);
}