diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 253af335..4b55f273 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -46,9 +46,9 @@ endif() check_cxx_source_compiles(" #include <atomic> int main() { - std::atomic<unsigned int> x; - x.fetch_add(1); - x.fetch_sub(1); + std::atomic_int x; + ++x; + --x; return 0; } " HAVE_STD_ATOMIC) diff --git a/taglib/toolkit/trefcounter.cpp b/taglib/toolkit/trefcounter.cpp index eb2aa69f..6638fcaa 100644 --- a/taglib/toolkit/trefcounter.cpp +++ b/taglib/toolkit/trefcounter.cpp @@ -31,9 +31,9 @@ #if defined(HAVE_STD_ATOMIC) # include <atomic> -# define ATOMIC_INT std::atomic<unsigned int> -# define ATOMIC_INC(x) x.fetch_add(1) -# define ATOMIC_DEC(x) (x.fetch_sub(1) - 1) +# define ATOMIC_INT std::atomic_int +# define ATOMIC_INC(x) (++x) +# define ATOMIC_DEC(x) (--x) #elif defined(HAVE_GCC_ATOMIC) # define ATOMIC_INT int # define ATOMIC_INC(x) __sync_add_and_fetch(&x, 1)