From cf5414ee11825f2dcc2916fd615fc070b47f7851 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Wed, 10 Feb 2016 19:25:51 +0000 Subject: [PATCH] Disable MSVC 2015's warning about zero extending after ~ and others Very often in LLVM we have APIs that take a bitwidth and a uint64_t that we pass immediates such as ~0U to. Consider APInt, Constant, and MachineInstrBuilder::addImm. Fixing all uses of these APIs to manually extend their arguments to uint64_t doesn't seem worth it. llvm-svn: 260416 --- llvm/cmake/modules/HandleLLVMOptions.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake index 1ec16e8..757042c 100644 --- a/llvm/cmake/modules/HandleLLVMOptions.cmake +++ b/llvm/cmake/modules/HandleLLVMOptions.cmake @@ -328,6 +328,7 @@ if( MSVC ) # C4592 is disabled because of false positives in Visual Studio 2015 # Update 1. Re-evaluate the usefulness of this diagnostic with Update 2. -wd4592 # Suppress ''var': symbol will be dynamically initialized (implementation limitation) + -wd4319 # Suppress ''operator' : zero extending 'type' to 'type' of greater size' # Ideally, we'd like this warning to be enabled, but MSVC 2013 doesn't # support the 'aligned' attribute in the way that clang sources requires (for @@ -336,7 +337,7 @@ if( MSVC ) # When we switch to requiring a version of MSVC that supports the 'alignas' # specifier (MSVC 2015?) this warning can be re-enabled. -wd4324 # Suppress 'structure was padded due to __declspec(align())' - + # Promoted warnings. -w14062 # Promote 'enumerator in switch of enum is not handled' to level 1 warning. -- 2.7.4