summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/test_atomic_include.template21
1 files changed, 18 insertions, 3 deletions
diff --git a/tests/test_atomic_include.template b/tests/test_atomic_include.template
index 7db5879..fe88e19 100644
--- a/tests/test_atomic_include.template
+++ b/tests/test_atomic_include.template
@@ -234,21 +234,36 @@ void test_atomicXX(void)
AO_orXX(&x, 66);
TA_assert(x == 106);
# else
- MISSING(AO_or);
+# if !defined(AO_HAVE_or) || !defined(AO_HAVE_or_acquire) \
+ || !defined(AO_HAVE_or_acquire_read) || !defined(AO_HAVE_or_full) \
+ || !defined(AO_HAVE_or_read) || !defined(AO_HAVE_or_release) \
+ || !defined(AO_HAVE_or_release_write) || !defined(AO_HAVE_or_write)
+ MISSING(AO_or);
+# endif
x |= 66;
# endif
# if defined(AO_HAVE_xorXX)
AO_xorXX(&x, 181);
TA_assert(x == 223);
# else
- MISSING(AO_xor);
+# if !defined(AO_HAVE_xor) || !defined(AO_HAVE_xor_acquire) \
+ || !defined(AO_HAVE_xor_acquire_read) || !defined(AO_HAVE_xor_full) \
+ || !defined(AO_HAVE_xor_read) || !defined(AO_HAVE_xor_release) \
+ || !defined(AO_HAVE_xor_release_write) || !defined(AO_HAVE_xor_write)
+ MISSING(AO_xor);
+# endif
x ^= 181;
# endif
# if defined(AO_HAVE_andXX)
AO_andXX(&x, 57);
TA_assert(x == 25);
# else
- MISSING(AO_and);
+# if !defined(AO_HAVE_and) || !defined(AO_HAVE_and_acquire) \
+ || !defined(AO_HAVE_and_acquire_read) || !defined(AO_HAVE_and_full) \
+ || !defined(AO_HAVE_and_read) || !defined(AO_HAVE_and_release) \
+ || !defined(AO_HAVE_and_release_write) || !defined(AO_HAVE_and_write)
+ MISSING(AO_and);
+# endif
x &= 57;
# endif
# if defined(AO_HAVE_fetch_compare_and_swapXX)