summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/FastRandom.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/FastRandom.cpp b/src/FastRandom.cpp
index c1716f026..0d9c361af 100644
--- a/src/FastRandom.cpp
+++ b/src/FastRandom.cpp
@@ -8,17 +8,19 @@
#include <random>
-#ifdef _WIN32
- #define thread_local static __declspec(thread)
-#elif defined __APPLE__
- #define thread_local static __thread
+#if defined (__GNUC__)
+ #define ATTRIBUTE_TLS static __thread
+#elif defined (_MSC_VER)
+ #define ATTRIBUTE_TLS static __declspec(thread)
+#else
+ #error "Unknown thread local storage qualifier"
#endif
static unsigned int GetRandomSeed()
{
- thread_local bool SeedCounterInitialized = 0;
- thread_local unsigned int SeedCounter = 0;
-
+ ATTRIBUTE_TLS bool SeedCounterInitialized = 0;
+ ATTRIBUTE_TLS unsigned int SeedCounter = 0;
+
if (!SeedCounterInitialized)
{
std::random_device rd;
@@ -47,8 +49,8 @@ public:
TestInts();
TestFloats();
}
-
-
+
+
void TestInts(void)
{
printf("Testing ints...\n");