summaryrefslogtreecommitdiff
path: root/src/atomic_ops
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2016-11-01 11:12:21 +0300
committerIvan Maidanski <ivmai@mail.ru>2016-11-01 11:13:11 +0300
commit94960e4f4c0370b751ccb2855b8a27fece4b657e (patch)
tree2ae9eeb37356c838b938dfb971330993e411d060 /src/atomic_ops
parentf7d5d2bec8ce53beca61ce397c051230534fb17c (diff)
downloadlibatomic_ops-94960e4f4c0370b751ccb2855b8a27fece4b657e.tar.gz
Fix missing double_compare_and_swap_dd_acquire_read
This matters only if AO_double_compare_and_swap[_acquire_read] actually defined in generalize.h too. * src/atomic_ops/generalize.h [!AO_HAVE_double_compare_and_swap_dd_acquire_read] (AO_double_compare_and_swap_dd_acquire_read): Define (same as definition as auto-generated in generalize-small.h).
Diffstat (limited to 'src/atomic_ops')
-rw-r--r--src/atomic_ops/generalize.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/atomic_ops/generalize.h b/src/atomic_ops/generalize.h
index 489f246..6edeab4 100644
--- a/src/atomic_ops/generalize.h
+++ b/src/atomic_ops/generalize.h
@@ -709,3 +709,19 @@
}
# define AO_HAVE_double_compare_and_swap_full
#endif
+
+#ifndef AO_HAVE_double_compare_and_swap_dd_acquire_read
+ /* Duplicated from generalize-small because double CAS might be */
+ /* defined after the include. */
+# ifdef AO_NO_DD_ORDERING
+# if defined(AO_HAVE_double_compare_and_swap_acquire_read)
+# define AO_double_compare_and_swap_dd_acquire_read(addr, old, new_val) \
+ AO_double_compare_and_swap_acquire_read(addr, old, new_val)
+# define AO_HAVE_double_compare_and_swap_dd_acquire_read
+# endif
+# elif defined(AO_HAVE_double_compare_and_swap)
+# define AO_double_compare_and_swap_dd_acquire_read(addr, old, new_val) \
+ AO_double_compare_and_swap(addr, old, new_val)
+# define AO_HAVE_double_compare_and_swap_dd_acquire_read
+# endif /* !AO_NO_DD_ORDERING */
+#endif