diff options
-rw-r--r-- | lldb/include/lldb/Utility/TaskPool.h | 8 |
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> |