[Lldb-commits] [lldb] r250833 - Fix MSVC build after 250820

Tamas Berghammer via lldb-commits lldb-commits at lists.llvm.org
Tue Oct 20 09:16:36 PDT 2015


Author: tberghammer
Date: Tue Oct 20 11:16:35 2015
New Revision: 250833

URL: http://llvm.org/viewvc/llvm-project?rev=250833&view=rev
Log:
Fix MSVC build after 250820

Work around a bug in MSVC 12 where _HAS_EXCEPTIONS=0 don't eliminate
all usage of __uncaught_exception with including eh.h what declares
that function.

Modified:
    lldb/trunk/include/lldb/Utility/TaskPool.h

Modified: lldb/trunk/include/lldb/Utility/TaskPool.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Utility/TaskPool.h?rev=250833&r1=250832&r2=250833&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Utility/TaskPool.h (original)
+++ lldb/trunk/include/lldb/Utility/TaskPool.h Tue Oct 20 11:16:35 2015
@@ -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>




More information about the lldb-commits mailing list