From 5412246d8b9f85c6b7bab9fbaf802dcad0bd32d0 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Mon, 31 Dec 2012 11:39:02 +0000 Subject: Suppress a MSVC warning complaining about the code working as intended. llvm-svn: 171290 --- llvm/lib/Support/Process.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'llvm/lib/Support/Process.cpp') diff --git a/llvm/lib/Support/Process.cpp b/llvm/lib/Support/Process.cpp index 8d1b64897c8..5f8655efc6e 100644 --- a/llvm/lib/Support/Process.cpp +++ b/llvm/lib/Support/Process.cpp @@ -34,14 +34,27 @@ self_process *process::get_self() { return SP; } +#if defined(_MSC_VER) +// Visual Studio complains that the self_process destructor never exits. This +// doesn't make much sense, as that's the whole point of calling abort... Just +// silence this warning. +#pragma warning(push) +#pragma warning(disable:4722) +#endif + // The destructor for the self_process subclass must never actually be // executed. There should be at most one instance of this class, and that // instance should live until the process terminates to avoid the potential for // racy accesses during shutdown. self_process::~self_process() { + assert(TempDirectory->exists() && "Who has removed TempDirectory?"); llvm_unreachable("This destructor must never be executed!"); } +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + } // Include the platform-specific parts of this class. -- cgit v1.2.3