summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJose Fonseca <[email protected]>2017-03-28 11:25:04 +0100
committerAndres Gomez <[email protected]>2017-03-30 16:32:40 +0300
commit3d59fd83ed128d48c15b4e0f2c7a9bcf6d6f6566 (patch)
tree57f6e8ef4ee587efe248f31d5302786ba951c540 /include
parent9caf60b3a2c25d46c78c9cdba36e663b687ffd50 (diff)
c11/threads: Include thr/xtimec.h for xtime definition when building with MSVC.
MSVC has been including a xtime definition in thr/xtimec.h ever since MSVC 2013 (which is the minimum we require for building Mesa), and including it prevents duplicate definitions when it gets included by LLVM. In fact, it looks that MSVC has been including a partial C11 threads implementation too for some time, which we should consider migrating to once we eliminate the use of _MTX_INITIALIZER_NP in our tree. Thanks to the anonymous helper from https://bugs.freedesktop.org/show_bug.cgi?id=100201#c4 for spotting this. Reviewed-by: Roland Scheidegger <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100201 CC: "17.0" <[email protected]> (cherry picked from commit ecfafdcbf51d8919e219539b57ffbd9cd3f8557a)
Diffstat (limited to 'include')
-rw-r--r--include/c11/threads.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/c11/threads.h b/include/c11/threads.h
index 45823df35b2..573348d8091 100644
--- a/include/c11/threads.h
+++ b/include/c11/threads.h
@@ -30,6 +30,9 @@
#define EMULATED_THREADS_H_INCLUDED_
#include <time.h>
+#ifdef _MSC_VER
+#include <thr/xtimec.h> // for xtime
+#endif
#ifndef TIME_UTC
#define TIME_UTC 1
@@ -41,11 +44,13 @@
typedef void (*tss_dtor_t)(void*);
typedef int (*thrd_start_t)(void*);
+#ifndef _MSC_VER
struct xtime {
time_t sec;
long nsec;
};
typedef struct xtime xtime;
+#endif
/*-------------------- enumeration constants --------------------*/