* Sample implementations
*/
#ifdef ISC_PLATFORM_USETHREADS
-#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE)) || defined(ISC_PLATFORM_HAVEXADD)
+
+#if defined(ISC_PLATFORM_HAVESTDATOMIC) || defined(ISC_PLATFORM_HAVEXADD)
#define ISC_REFCOUNT_HAVEATOMIC 1
-#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE))
+#if defined(ISC_PLATFORM_HAVESTDATOMIC)
#define ISC_REFCOUNT_HAVESTDATOMIC 1
#endif
} isc_rwlocktype_t;
#ifdef ISC_PLATFORM_USETHREADS
-#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE)) || (defined(ISC_PLATFORM_HAVEXADD) && defined(ISC_PLATFORM_HAVECMPXCHG))
+#if defined(ISC_PLATFORM_HAVESTDATOMIC) || (defined(ISC_PLATFORM_HAVEXADD) && defined(ISC_PLATFORM_HAVECMPXCHG))
#define ISC_RWLOCK_USEATOMIC 1
-#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE))
+#if defined(ISC_PLATFORM_HAVESTDATOMIC)
#define ISC_RWLOCK_USESTDATOMIC 1
#endif
#endif
* increment and store operations, just to make
* the later macros simpler
*/
-#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_LONG_LOCK_FREE)) || \
+#if defined(ISC_PLATFORM_HAVESTDATOMIC) || \
(defined(ISC_PLATFORM_HAVEXADDQ) && defined(ISC_PLATFORM_HAVEATOMICSTOREQ))
#define ISC_STATS_HAVEATOMICQ 1
-#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_LONG_LOCK_FREE))
+#if defined(ISC_PLATFORM_HAVESTDATOMIC)
#define ISC_STATS_HAVESTDATOMICQ 1
#endif
#else
* Otherwise, just rely on standard 64-bit data types
* and operations
*/
-#if !ISC_STATS_HAVEATOMICQ && ((defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE)) || defined(ISC_PLATFORM_HAVEXADD))
+#if !ISC_STATS_HAVEATOMICQ && (defined(ISC_PLATFORM_HAVESTDATOMIC) || defined(ISC_PLATFORM_HAVEXADD))
#define ISC_STATS_USEMULTIFIELDS 1
-#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE))
+#if defined(ISC_PLATFORM_HAVESTDATOMIC)
#define ISC_STATS_HAVESTDATOMIC 1
#endif
#else