MSVC 2013 Compile Fix/Workaround for "static thread_local" vars

Apparently MSVC 2013 has trouble with stuff that's been declared
"static thread_local" (and/or maybe even the "thread_local" keyword).

https://stackoverflow.com/questions/29399494/what-is-the-current-state-of-support-for-thread-local-across-platforms
This commit is contained in:
Joshua Leung
2018-02-22 19:22:50 +13:00
committed by Sergey Sharybin
parent 5a1a63a858
commit 3d7235fc87

View File

@@ -46,7 +46,12 @@ struct Gwn_Context {
#endif
};
#if defined(_MSC_VER) && (_MSC_VER == 1800)
#define thread_local __declspec(thread)
thread_local Gwn_Context* active_ctx = NULL;
#else
static thread_local Gwn_Context* active_ctx = NULL;
#endif
static void clear_orphans(Gwn_Context* ctx)
{