diff options
author | Cengiz Can <cengizIO@users.noreply.github.com> | 2015-11-02 23:21:37 +0100 |
---|---|---|
committer | Cengiz Can <canc@eucanc.local> | 2015-11-03 10:09:40 +0100 |
commit | bb48d8a7e837266b8557ed6c8ed6023ac6be3c8b (patch) | |
tree | 33cf4667605c2ff702fe5807e02abbd19a2eac9d /src/FastRandom.cpp | |
parent | Merge pull request #2464 from bibo38/assertfix (diff) | |
download | cuberite-bb48d8a7e837266b8557ed6c8ed6023ac6be3c8b.tar cuberite-bb48d8a7e837266b8557ed6c8ed6023ac6be3c8b.tar.gz cuberite-bb48d8a7e837266b8557ed6c8ed6023ac6be3c8b.tar.bz2 cuberite-bb48d8a7e837266b8557ed6c8ed6023ac6be3c8b.tar.lz cuberite-bb48d8a7e837266b8557ed6c8ed6023ac6be3c8b.tar.xz cuberite-bb48d8a7e837266b8557ed6c8ed6023ac6be3c8b.tar.zst cuberite-bb48d8a7e837266b8557ed6c8ed6023ac6be3c8b.zip |
Diffstat (limited to 'src/FastRandom.cpp')
-rw-r--r-- | src/FastRandom.cpp | 20 |
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"); |