From: Witold Kręcicki Date: Wed, 30 Jan 2019 10:21:30 +0000 (+0100) Subject: Cast atomic_load_explicit to proper size X-Git-Tag: v9.13.6~23^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9ded5d5193ebe61fc7bab77021faaafe0fd0e1b4;p=thirdparty%2Fbind9.git Cast atomic_load_explicit to proper size --- diff --git a/lib/isc/win32/include/isc/stdatomic.h b/lib/isc/win32/include/isc/stdatomic.h index a38eb2eccaa..1d933e55e9f 100644 --- a/lib/isc/win32/include/isc/stdatomic.h +++ b/lib/isc/win32/include/isc/stdatomic.h @@ -146,14 +146,18 @@ atomic_load_abort() { ISC_UNREACHABLE(); } -#define atomic_load_explicit(obj, order) \ - (sizeof(*(obj)) == 8 \ - ? atomic_load_explicit64(obj, order) \ - : (sizeof(*(obj) == 4) \ - ? atomic_load_explicit32(obj, order) \ - : (sizeof(*(obj) == 1) \ - ? atomic_load_explicit8(obj, order) \ - : atomic_load_abort()))) +#define atomic_load_explicit(obj, order) \ + ((sizeof(*(obj)) == 8 \ + ? atomic_load_explicit64(obj, order) \ + : (sizeof(*(obj) == 4) \ + ? atomic_load_explicit32(obj, order) \ + : (sizeof(*(obj) == 1) \ + ? atomic_load_explicit8(obj, order) \ + : atomic_load_abort()))) & \ + (sizeof(*(obj)) == 8 ? 0xffffffffffffffffULL : \ + (sizeof(*(obj)) == 4 ? 0xffffffffULL : \ + (sizeof(*(obj)) == 1 ? 0xffULL : atomic_load_abort())))) + #define atomic_load(obj) \ atomic_load_explicit(obj, memory_order_seq_cst)