[Windows] Remove the #include <eh.h> hack.
authorZachary Turner <zturner@google.com>
Fri, 3 Mar 2017 20:21:59 +0000 (20:21 +0000)
committerZachary Turner <zturner@google.com>
Fri, 3 Mar 2017 20:21:59 +0000 (20:21 +0000)
Prior to MSVC 2015 we had to manually include this header any
time we were going to include <thread> or <future> due to a
bug in MSVC's STL implementation.  This has been fixed in MSVC
for some time now, and we require VS 2015 minimum, so we can
remove this across all subprojects.

llvm-svn: 296906

19 files changed:
lld/COFF/Driver.cpp
lldb/include/lldb/Host/msvc/Config.h
lldb/include/lldb/Utility/TaskPool.h
lldb/packages/Python/lldbsuite/test/make/test_common.h
lldb/tools/driver/Platform.h
lldb/tools/lldb-mi/MIUtilThreadBaseStd.h
lldb/tools/lldb-mi/Platform.h
lldb/unittests/Core/DataExtractorTest.cpp
lldb/unittests/Core/ScalarTest.cpp
lldb/unittests/Core/TimerTest.cpp
lldb/unittests/Expression/GoParserTest.cpp
lldb/unittests/Host/SocketTest.cpp
lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
lldb/unittests/Process/gdb-remote/GDBRemoteTestUtils.cpp
lldb/unittests/gtest_common.h
llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h
llvm/include/llvm/Support/ThreadPool.h
llvm/include/llvm/Support/thread.h

index 07b5f8b..369a329 100644 (file)
 #include <algorithm>
 #include <memory>
 
-#ifdef _MSC_VER
-// <future> depends on <eh.h> for __uncaught_exception.
-#include <eh.h>
-#endif
-
 #include <future>
 
 using namespace llvm;
index 37dfbf5..fa0f8aa 100644 (file)
 
 //#define LLDB_CONFIG_FCNTL_GETPATH_SUPPORTED 1
 
-#if _HAS_EXCEPTIONS == 0
-// Due to a bug in <thread>, when _HAS_EXCEPTIONS == 0 the header will try to
-// call
-// uncaught_exception() without having a declaration for it.  The fix for this
-// is
-// to manually #include <eh.h>, which contains this declaration.
-#include <eh.h>
-#endif
-
 #endif // #ifndef liblldb_Platform_Config_h_
index db15b20..3ad9c7c 100644 (file)
 #ifndef utility_TaskPool_h_
 #define utility_TaskPool_h_
 
-#if defined(__cplusplus) && defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Compiling MSVC libraries with _HAS_EXCEPTIONS=0, eliminates most but not all
-// calls to __uncaught_exception.  Unfortunately, it does seem to eliminate
-// the delcaration of __uncaught_excpeiton.  Including <eh.h> ensures that it is
-// declared.  This may not be necessary after MSVC 12.
-#include <eh.h>
-#endif
-
-#if defined(_MSC_VER)
-// Due to another bug in MSVC 2013, including <future> will generate hundreds of
-// warnings in the Concurrency Runtime.  This can be removed when we switch to
-// MSVC 2015
-#pragma warning(push)
-#pragma warning(disable : 4062)
-#endif
-
 #include <cassert>
 #include <cstdint>
 #include <future>
@@ -203,8 +187,4 @@ template <typename T> void TaskRunner<T>::WaitForAllTasks() {
     ;
 }
 
-#if defined(_MSC_VER)
-#pragma warning(pop)
-#endif
-
 #endif // #ifndef utility_TaskPool_h_
index 575ca62..3ffece2 100644 (file)
 #define LLDB_TEST_API
 #endif
 
-#if defined(__cplusplus) && defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Compiling MSVC libraries with _HAS_EXCEPTIONS=0, eliminates most but not all
-// calls to __uncaught_exception.  Unfortunately, it does seem to eliminate
-// the delcaration of __uncaught_excpeiton.  Including <eh.h> ensures that it is
-// declared.  This may not be necessary after MSVC 12.
-#include <eh.h>
-#endif
-
 #if defined(_WIN32)
 #define LLVM_PRETTY_FUNCTION __FUNCSIG__
 #else
index 3af2e19..521c5a1 100644 (file)
@@ -15,7 +15,6 @@
 #include "lldb/Host/HostGetOpt.h"
 #include <io.h>
 #if defined(_MSC_VER)
-#include <eh.h>
 #include <signal.h>
 #endif
 #include "lldb/Host/windows/windows.h"
index cfff7d4..20b8fad 100644 (file)
@@ -10,9 +10,6 @@
 #pragma once
 
 // Third party headers:
-#ifdef _MSC_VER
-#include <eh.h>
-#endif // _MSC_VER
 #include <mutex>
 #include <thread>
 
index 1b6ff55..ce2de1b 100644 (file)
@@ -10,7 +10,6 @@
 
 #if defined(_MSC_VER)
 
-#include <eh.h>
 #include <inttypes.h>
 #include <io.h>
 #include <signal.h>
index d474e21..1503baa 100644 (file)
@@ -7,13 +7,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Workaround for MSVC standard library bug, which fails to include <thread>
-// when
-// exceptions are disabled.
-#include <eh.h>
-#endif
-
 #include "gtest/gtest.h"
 
 #include "lldb/Core/DataExtractor.h"
index d51d35b..0d47382 100644 (file)
@@ -7,13 +7,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Workaround for MSVC standard library bug, which fails to include <thread>
-// when
-// exceptions are disabled.
-#include <eh.h>
-#endif
-
 #include "gtest/gtest.h"
 
 #include "lldb/Core/DataExtractor.h"
index f7442bf..7e7eeef 100644 (file)
@@ -7,12 +7,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Workaround for MSVC standard library bug, which fails to include <thread>
-// when exceptions are disabled.
-#include <eh.h>
-#endif
-
 #include "lldb/Core/Timer.h"
 #include "gtest/gtest.h"
 
index 07eda23..710dc5e 100644 (file)
@@ -8,13 +8,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Workaround for MSVC standard library bug, which fails to include <thread>
-// when
-// exceptions are disabled.
-#include <eh.h>
-#endif
-
 #include <sstream>
 
 #include "gtest/gtest.h"
index 569a440..7d70b13 100644 (file)
@@ -7,13 +7,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Workaround for MSVC standard library bug, which fails to include <thread>
-// when
-// exceptions are disabled.
-#include <eh.h>
-#endif
-
 #include <cstdio>
 #include <functional>
 #include <thread>
index 2cfd52f..e7d155b 100644 (file)
@@ -6,13 +6,6 @@
 // License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
-
-#if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Workaround for MSVC standard library bug, which fails to include <thread>
-// when
-// exceptions are disabled.
-#include <eh.h>
-#endif
 #include <future>
 
 #include "GDBRemoteTestUtils.h"
index 2583ee8..3c1765c 100644 (file)
@@ -6,13 +6,6 @@
 // License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
-
-#if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Workaround for MSVC standard library bug, which fails to include <thread>
-// when
-// exceptions are disabled.
-#include <eh.h>
-#endif
 #include <future>
 
 #include "GDBRemoteTestUtils.h"
index 58cc9f5..08501f5 100644 (file)
@@ -7,13 +7,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Workaround for MSVC standard library bug, which fails to include <thread>
-// when
-// exceptions are disabled.
-#include <eh.h>
-#endif
-
 #include "GDBRemoteTestUtils.h"
 
 #include "lldb/Host/common/TCPSocket.h"
index c8fe925..f61ba9d 100644 (file)
 
 // This header file is force included by all of LLDB's unittest compilation
 // units.  Be very leary about putting anything in this file.
-
-#if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0)
-// Due to a bug in <thread>, when _HAS_EXCEPTIONS == 0 the header will try to
-// call
-// uncaught_exception() without having a declaration for it.  The fix for this
-// is
-// to manually #include <eh.h>, which contains this declaration.
-#include <eh.h>
-#endif
index 38ebd5d..7047261 100644 (file)
 #include "llvm/ExecutionEngine/Orc/OrcError.h"
 #include "llvm/ExecutionEngine/Orc/RPCSerialization.h"
 
-#ifdef _MSC_VER
-// concrt.h depends on eh.h for __uncaught_exception declaration
-// even if we disable exceptions.
-#include <eh.h>
-
-// Disable warnings from ppltasks.h transitively included by <future>.
-#pragma warning(push)
-#pragma warning(disable : 4530)
-#pragma warning(disable : 4062)
-#endif
-
 #include <future>
 
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
 namespace llvm {
 namespace orc {
 namespace rpc {
index 665cec2..f0e3ffa 100644 (file)
 
 #include "llvm/Support/thread.h"
 
-#ifdef _MSC_VER
-// concrt.h depends on eh.h for __uncaught_exception declaration
-// even if we disable exceptions.
-#include <eh.h>
-
-// Disable warnings from ppltasks.h transitively included by <future>.
-#pragma warning(push)
-#pragma warning(disable:4530)
-#pragma warning(disable:4062)
-#endif
-
 #include <future>
 
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
 #include <atomic>
 #include <condition_variable>
 #include <functional>
index 9c45418..787a513 100644 (file)
 
 #if LLVM_ENABLE_THREADS
 
-#ifdef _MSC_VER
-// concrt.h depends on eh.h for __uncaught_exception declaration
-// even if we disable exceptions.
-#include <eh.h>
-
-// Suppress 'C++ exception handler used, but unwind semantics are not enabled.'
-#pragma warning(push)
-#pragma warning(disable:4530)
-#endif
-
 #include <thread>
 
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
 namespace llvm {
 typedef std::thread thread;
 }