alloc-4.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include <omp.h>
  2. #include <stdlib.h>
  3. const omp_alloctrait_t traits[]
  4. = { { omp_atk_pool_size, 1 },
  5. { omp_atk_fallback, omp_atv_abort_fb } };
  6. int
  7. main ()
  8. {
  9. omp_allocator_handle_t a;
  10. if (omp_alloc (0, omp_null_allocator) != NULL)
  11. abort ();
  12. if (omp_aligned_alloc (64, 0, omp_null_allocator) != NULL)
  13. abort ();
  14. if (omp_calloc (0, 0, omp_null_allocator) != NULL
  15. || omp_calloc (32, 0, omp_null_allocator) != NULL
  16. || omp_calloc (0, 64, omp_null_allocator) != NULL)
  17. abort ();
  18. if (omp_aligned_calloc (32, 0, 0, omp_null_allocator) != NULL
  19. || omp_aligned_calloc (64, 32, 0, omp_null_allocator) != NULL
  20. || omp_aligned_calloc (16, 0, 64, omp_null_allocator) != NULL)
  21. abort ();
  22. a = omp_init_allocator (omp_default_mem_space, 2, traits);
  23. if (a != omp_null_allocator)
  24. {
  25. if (omp_alloc (0, a) != NULL
  26. || omp_alloc (0, a) != NULL
  27. || omp_alloc (0, a) != NULL
  28. || omp_aligned_alloc (16, 0, a) != NULL
  29. || omp_aligned_alloc (128, 0, a) != NULL
  30. || omp_calloc (0, 0, a) != NULL
  31. || omp_calloc (32, 0, a) != NULL
  32. || omp_calloc (0, 64, a) != NULL
  33. || omp_aligned_calloc (32, 0, 0, a) != NULL
  34. || omp_aligned_calloc (64, 32, 0, a) != NULL
  35. || omp_aligned_calloc (16, 0, 64, a) != NULL)
  36. abort ();
  37. omp_destroy_allocator (a);
  38. }
  39. return 0;
  40. }