From 24fdbe567638d942fff6b1cf3df3cb4f5adf6823 Mon Sep 17 00:00:00 2001 From: Yaron Keren Date: Tue, 25 Mar 2014 08:42:49 +0000 Subject: Disable Visual C++ warning 4722 about aborting a destructor, it has no value for us. llvm-svn: 204704 --- llvm/lib/IR/User.cpp | 20 -------------------- 1 file changed, 20 deletions(-) (limited to 'llvm/lib/IR/User.cpp') diff --git a/llvm/lib/IR/User.cpp b/llvm/lib/IR/User.cpp index cd124df1e93..940682826ac 100644 --- a/llvm/lib/IR/User.cpp +++ b/llvm/lib/IR/User.cpp @@ -83,28 +83,8 @@ void User::operator delete(void *Usr) { // Operator Class //===----------------------------------------------------------------------===// -#if defined(_MSC_VER) -// In Release modes, Visual Studio complains that the Operator destructor -// never returns, which is true by design. -// This does *not* depend on llvm_unreachable being dependent on NDEBUG: -// even if llvm_unreachable is replaced by __assume(false), VC still warns in -// Release modes but not in Debug modes. The real reason is optimization flags. -// With /Od in Debug modes the warning is not issued whereas with /O1 it is. -// I could not find any documentation to this effect, it is reproducable: -// Try compiling http://msdn.microsoft.com/en-us/library/khwfyc5d(v=vs.90).aspx -// with /O1 and then with /Od. -// Anyhow, solution is same as lib/Support/Process.cpp:~self_process(). - -#pragma warning(push) -#pragma warning(disable:4722) -#endif - Operator::~Operator() { llvm_unreachable("should never destroy an Operator"); } -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - } // End llvm namespace -- cgit v1.2.3