work around some MSC problems

Sun, 16 Apr 2023 21:09:25 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 16 Apr 2023 21:09:25 +0200
changeset 682
34120a385fc8
parent 681
502105523db7
child 683
aa0d09f2d81c

work around some MSC problems

src/cx/common.h file | annotate | diff | comparison | revisions
--- a/src/cx/common.h	Sun Apr 16 20:50:19 2023 +0200
+++ b/src/cx/common.h	Sun Apr 16 21:09:25 2023 +0200
@@ -89,10 +89,13 @@
 /** Version constant which ensures to increase monotonically. */
 #define UCX_VERSION (((UCX_VERSION_MAJOR)<<16)|UCX_VERSION_MINOR)
 
+// Common Includes
+
 #include <stdlib.h>
 #include <stddef.h>
 #include <stdbool.h>
 #include <stdint.h>
+#include <sys/types.h>
 
 /**
  * Function pointer compatible with fwrite-like functions.
@@ -114,17 +117,8 @@
         void *
 );
 
-#ifdef _WIN32
 
-#ifdef __MINGW32__
-#include <sys/types.h>
-#endif // __MINGW32__
-
-#else // !_WIN32
-
-#include <sys/types.h>
-
-#endif // _WIN32
+// Compiler specific stuff
 
 #ifndef __GNUC__
 /**
@@ -133,4 +127,15 @@
 #define __attribute__(x)
 #endif
 
+#ifdef _MSC_VER
+
+// fix missing ssize_t definition
+#include <BaseTsd.h>
+typedef SSIZE_T ssize_t;
+
+// fix missing _Thread_local support
+#define _Thread_local __declspec(thread)
+
+#endif
+
 #endif // UCX_COMMON_H

mercurial