From 94960e4f4c0370b751ccb2855b8a27fece4b657e Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Tue, 1 Nov 2016 11:12:21 +0300 Subject: 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). --- src/atomic_ops/generalize.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') 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 -- cgit v1.2.1