From: Nate Begeman Date: Thu, 17 Jun 2010 02:26:59 +0000 (+0000) Subject: Remove last of the bool shifts for MS VC++, patch by dimitry andric X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d69ec16b1b03b4a97c571ff14f15769fe13c1e5a;p=clang Remove last of the bool shifts for MS VC++, patch by dimitry andric git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106206 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index db616c51e2..b9ee902002 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -952,13 +952,13 @@ const llvm::Type *GetNeonType(LLVMContext &Ctx, unsigned type, bool q) { switch (type) { default: break; case 0: - case 5: return llvm::VectorType::get(llvm::Type::getInt8Ty(Ctx), 8 << q); + case 5: return llvm::VectorType::get(llvm::Type::getInt8Ty(Ctx), 8 << (int)q); case 6: case 7: - case 1: return llvm::VectorType::get(llvm::Type::getInt16Ty(Ctx), 4 << q); - case 2: return llvm::VectorType::get(llvm::Type::getInt32Ty(Ctx), 2 << q); - case 3: return llvm::VectorType::get(llvm::Type::getInt64Ty(Ctx), 1 << q); - case 4: return llvm::VectorType::get(llvm::Type::getFloatTy(Ctx), 2 << q); + case 1: return llvm::VectorType::get(llvm::Type::getInt16Ty(Ctx), 4 << (int)q); + case 2: return llvm::VectorType::get(llvm::Type::getInt32Ty(Ctx), 2 << (int)q); + case 3: return llvm::VectorType::get(llvm::Type::getInt64Ty(Ctx), 1 << (int)q); + case 4: return llvm::VectorType::get(llvm::Type::getFloatTy(Ctx), 2 << (int)q); }; return 0; } diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp index 6f5d6f8eca..3a5afce920 100644 --- a/lib/Sema/SemaChecking.cpp +++ b/lib/Sema/SemaChecking.cpp @@ -248,25 +248,25 @@ static unsigned RFT(unsigned t, bool shift = false) { switch (t & 0x7) { case 0: // i8 - return shift ? 7 : (8 << quad) - 1; + return shift ? 7 : (8 << (int)quad) - 1; case 1: // i16 - return shift ? 15 : (4 << quad) - 1; + return shift ? 15 : (4 << (int)quad) - 1; case 2: // i32 - return shift ? 31 : (2 << quad) - 1; + return shift ? 31 : (2 << (int)quad) - 1; case 3: // i64 - return shift ? 63 : (1 << quad) - 1; + return shift ? 63 : (1 << (int)quad) - 1; case 4: // f32 assert(!shift && "cannot shift float types!"); - return (2 << quad) - 1; + return (2 << (int)quad) - 1; case 5: // poly8 assert(!shift && "cannot shift polynomial types!"); - return (8 << quad) - 1; + return (8 << (int)quad) - 1; case 6: // poly16 assert(!shift && "cannot shift polynomial types!"); - return (4 << quad) - 1; + return (4 << (int)quad) - 1; case 7: // float16 assert(!shift && "cannot shift float types!"); - return (4 << quad) - 1; + return (4 << (int)quad) - 1; } return 0; }