summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/include/lldb/Utility/TaskPool.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/lldb/include/lldb/Utility/TaskPool.h b/lldb/include/lldb/Utility/TaskPool.h
index 64ba03dc6eb..99b56a93ff2 100644
--- a/lldb/include/lldb/Utility/TaskPool.h
+++ b/lldb/include/lldb/Utility/TaskPool.h
@@ -10,6 +10,14 @@
#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
+
#include <cassert>
#include <cstdint>
#include <future>
OpenPOWER on IntegriCloud