diff options
Diffstat (limited to 'libatomic/testsuite/libatomic.c/atomic-exchange-4.c')
-rw-r--r-- | libatomic/testsuite/libatomic.c/atomic-exchange-4.c | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/libatomic/testsuite/libatomic.c/atomic-exchange-4.c b/libatomic/testsuite/libatomic.c/atomic-exchange-4.c deleted file mode 100644 index db867d6e5d..0000000000 --- a/libatomic/testsuite/libatomic.c/atomic-exchange-4.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Test __atomic routines for existence and proper execution on 8 byte - values with each valid memory model. */ -/* { dg-do run } */ -/* { dg-options "" } */ - -/* Test the execution of the __atomic_X builtin for a long_long. */ - -extern void abort(void); - -long long v, count, ret; - -int -main () -{ - v = 0; - count = 0; - - if (__atomic_exchange_n (&v, count + 1, __ATOMIC_RELAXED) != count) - abort (); - count++; - - if (__atomic_exchange_n (&v, count + 1, __ATOMIC_ACQUIRE) != count) - abort (); - count++; - - if (__atomic_exchange_n (&v, count + 1, __ATOMIC_RELEASE) != count) - abort (); - count++; - - if (__atomic_exchange_n (&v, count + 1, __ATOMIC_ACQ_REL) != count) - abort (); - count++; - - if (__atomic_exchange_n (&v, count + 1, __ATOMIC_SEQ_CST) != count) - abort (); - count++; - - /* Now test the generic version. */ - - count++; - - __atomic_exchange (&v, &count, &ret, __ATOMIC_RELAXED); - if (ret != count - 1 || v != count) - abort (); - count++; - - __atomic_exchange (&v, &count, &ret, __ATOMIC_ACQUIRE); - if (ret != count - 1 || v != count) - abort (); - count++; - - __atomic_exchange (&v, &count, &ret, __ATOMIC_RELEASE); - if (ret != count - 1 || v != count) - abort (); - count++; - - __atomic_exchange (&v, &count, &ret, __ATOMIC_ACQ_REL); - if (ret != count - 1 || v != count) - abort (); - count++; - - __atomic_exchange (&v, &count, &ret, __ATOMIC_SEQ_CST); - if (ret != count - 1 || v != count) - abort (); - count++; - - return 0; -} |