Silencing warnings from MSVC 2015 Update 2. Both of these changes silence "C4334...
authorAaron Ballman <aaron@aaronballman.com>
Wed, 30 Mar 2016 21:33:34 +0000 (21:33 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Wed, 30 Mar 2016 21:33:34 +0000 (21:33 +0000)
llvm-svn: 264932

clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/CodeGen/MicrosoftCXXABI.cpp

index e9eea19..effdfe6 100644 (file)
@@ -6416,7 +6416,7 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
 
     // Check the value of the bit corresponding to the feature requested.
     Value *Bitset = Builder.CreateAnd(
-        Features, llvm::ConstantInt::get(Int32Ty, 1 << Feature));
+        Features, llvm::ConstantInt::get(Int32Ty, 1ULL << Feature));
     return Builder.CreateICmpNE(Bitset, llvm::ConstantInt::get(Int32Ty, 0));
   }
   case X86::BI_mm_prefetch: {
index ed2cb21..e578863 100644 (file)
@@ -2423,7 +2423,7 @@ void MicrosoftCXXABI::EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D,
     // }
 
     // Test our bit from the guard variable.
-    llvm::ConstantInt *Bit = llvm::ConstantInt::get(GuardTy, 1U << GuardNum);
+    llvm::ConstantInt *Bit = llvm::ConstantInt::get(GuardTy, 1ULL << GuardNum);
     llvm::LoadInst *LI = Builder.CreateLoad(GuardAddr);
     llvm::Value *IsInitialized =
         Builder.CreateICmpNE(Builder.CreateAnd(LI, Bit), Zero);