From f723a1247fa54011f194080f7083e30d2cd73426 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 2 Oct 2018 11:15:56 +1000 Subject: [PATCH] Undo implict promotion to 64 bits in our Windows implementation of atomic_load_explicit() by casting to uint_fast32_t. --- lib/isc/include/isc/refcount.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/isc/include/isc/refcount.h b/lib/isc/include/isc/refcount.h index 2342531f67..80ee9751ae 100644 --- a/lib/isc/include/isc/refcount.h +++ b/lib/isc/include/isc/refcount.h @@ -47,9 +47,13 @@ typedef atomic_uint_fast32_t isc_refcount_t; * \brief Returns current number of references. * \param[in] ref pointer to reference counter. * \returns current value of reference counter. + * + * Undo implict promotion to 64 bits in our Windows implementation of + * atomic_load_explicit() by casting to uint_fast32_t. */ + #define isc_refcount_current(target) \ - atomic_load_explicit(target, memory_order_relaxed) + (uint_fast32_t)atomic_load_explicit(target, memory_order_relaxed) /** \def isc_refcount_destroy(ref) * \brief a destructor that makes sure that all references were cleared.