Merge r112531 to Morbo. Radar 8251350.
llvm-svn: 114346
diff --git a/llvm-gcc-4.2/gcc/llvm-convert.cpp b/llvm-gcc-4.2/gcc/llvm-convert.cpp
index 48adcd5..6f187a4 100644
--- a/llvm-gcc-4.2/gcc/llvm-convert.cpp
+++ b/llvm-gcc-4.2/gcc/llvm-convert.cpp
@@ -5402,6 +5402,10 @@
EmitBuiltinUnaryOp(Amt, Result, Intrinsic::ctpop);
Result = Builder.CreateBinOp(Instruction::And, Result,
ConstantInt::get(Result->getType(), 1));
+ const Type *DestTy = ConvertType(TREE_TYPE(exp));
+ Result = Builder.CreateIntCast(Result, DestTy,
+ !TYPE_UNSIGNED(TREE_TYPE(exp)),
+ "cast");
return true;
}
case BUILT_IN_POPCOUNT: // These GCC builtins always return int.