From 2200aab4c22e112cfc1ab72de4c748455bdd0e6c Mon Sep 17 00:00:00 2001 From: fallenoak Date: Fri, 4 Dec 2020 00:19:19 -0600 Subject: [PATCH] chore(atomic): use typedef aliases for better cross platform compat --- storm/Atomic.cpp | 4 ++-- storm/Atomic.hpp | 12 ++++++++++-- test/Atomic.cpp | 4 ++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/storm/Atomic.cpp b/storm/Atomic.cpp index 2031bfc..8b713dc 100644 --- a/storm/Atomic.cpp +++ b/storm/Atomic.cpp @@ -4,7 +4,7 @@ #include #endif -int32_t SInterlockedDecrement(int32_t* ptr) { +ATOMIC32 SInterlockedDecrement(ATOMIC32* ptr) { #if defined(WHOA_SYSTEM_WIN) return InterlockedDecrement(ptr); #endif @@ -14,7 +14,7 @@ int32_t SInterlockedDecrement(int32_t* ptr) { #endif } -int32_t SInterlockedIncrement(int32_t* ptr) { +ATOMIC32 SInterlockedIncrement(ATOMIC32* ptr) { #if defined(WHOA_SYSTEM_WIN) return InterlockedIncrement(ptr); #endif diff --git a/storm/Atomic.hpp b/storm/Atomic.hpp index 58ce744..8fb5fd2 100644 --- a/storm/Atomic.hpp +++ b/storm/Atomic.hpp @@ -3,8 +3,16 @@ #include -int32_t SInterlockedDecrement(int32_t* ptr); +#if defined(WHOA_SYSTEM_WIN) +typedef long ATOMIC32; +#endif -int32_t SInterlockedIncrement(int32_t* ptr); +#if defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX) +typedef int32_t ATOMIC32; +#endif + +ATOMIC32 SInterlockedDecrement(ATOMIC32* ptr); + +ATOMIC32 SInterlockedIncrement(ATOMIC32* ptr); #endif diff --git a/test/Atomic.cpp b/test/Atomic.cpp index 205c9cd..7c81447 100644 --- a/test/Atomic.cpp +++ b/test/Atomic.cpp @@ -3,7 +3,7 @@ TEST_CASE("SInterlockedDecrement", "[atomic]") { SECTION("decrements value") { - int32_t value = 1; + ATOMIC32 value = 1; auto decremented = SInterlockedDecrement(&value); CHECK(value == 0); CHECK(decremented == 0); @@ -12,7 +12,7 @@ TEST_CASE("SInterlockedDecrement", "[atomic]") { TEST_CASE("SInterlockedIncrement", "[atomic]") { SECTION("increments value") { - int32_t value = { 1 }; + ATOMIC32 value = 1; auto incremented = SInterlockedIncrement(&value); CHECK(value == 2); CHECK(incremented == 2);