Disable MSVC 2015's warning about zero extending after ~ and others
authorReid Kleckner <rnk@google.com>
Wed, 10 Feb 2016 19:25:51 +0000 (19:25 +0000)
committerReid Kleckner <rnk@google.com>
Wed, 10 Feb 2016 19:25:51 +0000 (19:25 +0000)
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

index 1ec16e8..757042c 100644 (file)
@@ -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.