Cast to uint64_t instead of to unsigned.

This is a follow-up to r346211.

llvm-svn: 346212
This commit is contained in:
Akira Hatanaka 2018-11-06 07:12:28 +00:00
parent d572cf496d
commit 908aabb783
1 changed files with 1 additions and 1 deletions

View File

@ -1171,7 +1171,7 @@ RValue CodeGenFunction::emitBuiltinOSLogFormat(const CallExpr &E) {
if (Item.getKind() == analyze_os_log::OSLogBufferItem::MaskKind) {
uint64_t Val = 0;
for (unsigned I = 0, E = Item.getMaskType().size(); I < E; ++I)
Val |= ((unsigned )Item.getMaskType()[I]) << I * 8;
Val |= ((uint64_t)Item.getMaskType()[I]) << I * 8;
ArgVal = llvm::Constant::getIntegerValue(Int64Ty, llvm::APInt(64, Val));
} else if (const Expr *TheExpr = Item.getExpr()) {
ArgVal = EmitScalarExpr(TheExpr, /*Ignore*/ false);