From 45d099b995acacb165367edc7f3d77eb3cc8407d Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Mon, 7 Jul 2014 05:36:14 +0000 Subject: [PATCH] Cleanup. No functionality change intended. llvm-svn: 212432 --- clang/lib/CodeGen/CGExprScalar.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/clang/lib/CodeGen/CGExprScalar.cpp b/clang/lib/CodeGen/CGExprScalar.cpp index 046ee33..a4abc0f 100644 --- a/clang/lib/CodeGen/CGExprScalar.cpp +++ b/clang/lib/CodeGen/CGExprScalar.cpp @@ -1618,12 +1618,11 @@ ScalarExprEmitter::EmitScalarPrePostIncDec(const UnaryOperator *E, LValue LV, // Note that signed integer inc/dec with width less than int can't // overflow because of promotion rules; we're just eliding a few steps here. - if (value->getType()->getPrimitiveSizeInBits() >= - CGF.IntTy->getBitWidth() && - type->isSignedIntegerOrEnumerationType()) { + bool CanOverflow = value->getType()->getIntegerBitWidth() >= + CGF.IntTy->getIntegerBitWidth(); + if (CanOverflow && type->isSignedIntegerOrEnumerationType()) { value = EmitAddConsiderOverflowBehavior(E, value, amt, isInc); - } else if (value->getType()->getPrimitiveSizeInBits() >= - CGF.IntTy->getBitWidth() && type->isUnsignedIntegerType() && + } else if (CanOverflow && type->isUnsignedIntegerType() && CGF.SanOpts->UnsignedIntegerOverflow) { BinOpInfo BinOp; BinOp.LHS = value; -- 2.7.4