aboutsummaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/make/test_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/make/test_common.h')
-rw-r--r--packages/Python/lldbsuite/test/make/test_common.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/Python/lldbsuite/test/make/test_common.h b/packages/Python/lldbsuite/test/make/test_common.h
new file mode 100644
index 000000000000..6f819706366e
--- /dev/null
+++ b/packages/Python/lldbsuite/test/make/test_common.h
@@ -0,0 +1,19 @@
+// This header is included in all the test programs (C and C++) and provides a
+// hook for dealing with platform-specifics.
+#if defined(_WIN32) || defined(_WIN64)
+#ifdef COMPILING_LLDB_TEST_DLL
+#define LLDB_TEST_API __declspec(dllexport)
+#else
+#define LLDB_TEST_API __declspec(dllimport)
+#endif
+#else
+#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