summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/atomic-generic.c
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2017-11-13 16:28:05 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2017-11-13 16:29:09 +0000
commit03ac50856c9fc8c96b7a17239ee40a10397750a7 (patch)
treea648c6d3428e4757e003f6ed1748adb9613065db /gcc/testsuite/gcc.dg/atomic-generic.c
parent34efdaf078b01a7387007c4e6bde6db86384c4b7 (diff)
downloadgcc-tarball-03ac50856c9fc8c96b7a17239ee40a10397750a7.tar.gz
gcc 7.2.0
This is imported manually due to a bug in the tarball import script. See the baserock-dev mailing list archives (November 2017) for a more detailed explaination of the issue.
Diffstat (limited to 'gcc/testsuite/gcc.dg/atomic-generic.c')
-rw-r--r--gcc/testsuite/gcc.dg/atomic-generic.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/gcc/testsuite/gcc.dg/atomic-generic.c b/gcc/testsuite/gcc.dg/atomic-generic.c
deleted file mode 100644
index 0e40630240..0000000000
--- a/gcc/testsuite/gcc.dg/atomic-generic.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Test generic __atomic routines for proper function calling.
- memory model. */
-/* { dg-options "-w" } */
-/* { dg-do run } */
-/* { dg-additional-sources "atomic-generic-aux.c" } */
-
-/* Test that the generioc atomic builtins execute as expected..
- sync-mem-generic-aux.c supplies a functional external entry point for
- the 4 generic functions. */
-
-#include <stdlib.h>
-#include <stdbool.h>
-#include <string.h>
-
-extern void abort();
-
-typedef struct test {
- int array[10];
-} test_struct;
-
-test_struct zero = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-test_struct ones = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
-test_struct a,b;
-
-int size = sizeof (test_struct);
-/* Test for consistency on sizes 1, 2, 4, 8, 16 and 32. */
-int
-main ()
-{
- test_struct c;
-
- __atomic_store (&a, &zero, __ATOMIC_RELAXED);
- if (memcmp (&a, &zero, size))
- abort ();
-
- __atomic_exchange (&a, &ones, &c, __ATOMIC_SEQ_CST);
- if (memcmp (&c, &zero, size))
- abort ();
- if (memcmp (&a, &ones, size))
- abort ();
-
- __atomic_load (&a, &b, __ATOMIC_RELAXED);
- if (memcmp (&b, &ones, size))
- abort ();
-
- if (!__atomic_compare_exchange (&a, &b, &zero, false, __ATOMIC_SEQ_CST, __ATOMIC_ACQUIRE))
- abort();
- if (memcmp (&a, &zero, size))
- abort ();
-
- if (__atomic_compare_exchange (&a, &b, &ones, false, __ATOMIC_SEQ_CST, __ATOMIC_ACQUIRE))
- abort();
- if (memcmp (&b, &zero, size))
- abort ();
-
- return 0;
-}
-