]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Cast atomic_load_explicit to proper size
authorWitold Kręcicki <wpk@isc.org>
Wed, 30 Jan 2019 10:21:30 +0000 (11:21 +0100)
committerOndřej Surý <ondrej@sury.org>
Wed, 30 Jan 2019 13:12:06 +0000 (14:12 +0100)
lib/isc/win32/include/isc/stdatomic.h

index a38eb2eccaa0f2b88e301c0646e7105e687a7321..1d933e55e9f69ded8b3c839daaa91418fa9e50b4 100644 (file)
@@ -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)