Skip various cmp-mem-const tests on lp64 hppa*-*-*
[official-gcc.git] / libgomp / testsuite / libgomp.c-c++-common / alloc-6.c
blobbe571b7ecea6af8c863c95ca7ecd4ed94d45615e
1 #include <omp.h>
2 #include <stdint.h>
3 #include <stdlib.h>
5 const omp_alloctrait_t traits[]
6 = { { omp_atk_alignment, 16 },
7 { omp_atk_sync_hint, omp_atv_default },
8 { omp_atk_access, omp_atv_default },
9 { omp_atk_fallback, omp_atv_default_mem_fb },
10 { omp_atk_partition, omp_atv_environment } };
12 int
13 main ()
15 omp_allocator_handle_t a;
16 void *p, *q;
17 volatile size_t large_sz;
19 a = omp_init_allocator (omp_default_mem_space,
20 sizeof (traits) / sizeof (traits[0]),
21 traits);
22 if (a == omp_null_allocator)
23 abort ();
24 p = omp_alloc (2048, a);
25 if ((((uintptr_t) p) % 16) != 0)
26 abort ();
27 large_sz = ~(size_t) 1023;
28 q = omp_alloc (large_sz, a);
29 if (q != NULL)
30 abort ();
31 q = omp_aligned_alloc (32, large_sz, a);
32 if (q != NULL)
33 abort ();
34 q = omp_calloc (large_sz / 4, 4, a);
35 if (q != NULL)
36 abort ();
37 q = omp_aligned_calloc (1, 2, large_sz / 2, a);
38 if (q != NULL)
39 abort ();
40 omp_free (p, a);
41 large_sz = ~(size_t) 0;
42 large_sz >>= 1;
43 large_sz += 1;
44 if (omp_calloc (2, large_sz, a) != NULL)
45 abort ();
46 if (omp_calloc (large_sz, 1024, a) != NULL)
47 abort ();
48 if (omp_calloc (large_sz, large_sz, a) != NULL)
49 abort ();
50 if (omp_aligned_calloc (16, 2, large_sz, a) != NULL)
51 abort ();
52 if (omp_aligned_calloc (32, large_sz, 1024, a) != NULL)
53 abort ();
54 if (omp_aligned_calloc (64, large_sz, large_sz, a) != NULL)
55 abort ();
56 omp_destroy_allocator (a);
57 return 0;