#include "atomic_ops.h"
-#if !defined(AO_HAVE_compare_double_and_swap_double) \
- && !defined(AO_HAVE_compare_double_and_swap) \
- && defined(AO_HAVE_compare_and_swap)
+#ifdef AO_USE_ALMOST_LOCK_FREE
+ /* Use the almost-non-blocking implementation regardless of the */
+ /* double-word CAS availability. */
+#elif !defined(AO_HAVE_compare_double_and_swap_double) \
+ && !defined(AO_HAVE_compare_double_and_swap) \
+ && defined(AO_HAVE_compare_and_swap)
# define AO_USE_ALMOST_LOCK_FREE
#else
/* If we have no compare-and-swap operation defined, we assume */