for-4.c 679 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* { dg-options "-std=gnu99" { target c } } */
  2. extern
  3. #ifdef __cplusplus
  4. "C"
  5. #endif
  6. void abort (void);
  7. #define M(x, y, z) O(x, y, z)
  8. #define O(x, y, z) x ## _ ## y ## _ ## z
  9. #define F taskloop
  10. #define G taskloop
  11. #define S
  12. #define N(x) M(x, G, normal)
  13. #include "for-2.h"
  14. #undef S
  15. #undef N
  16. #undef F
  17. #undef G
  18. #define F taskloop simd
  19. #define G taskloop_simd
  20. #define S
  21. #define N(x) M(x, G, normal)
  22. #include "for-2.h"
  23. #undef S
  24. #undef N
  25. #undef F
  26. #undef G
  27. int
  28. main ()
  29. {
  30. int err = 0;
  31. #pragma omp parallel reduction(|:err)
  32. #pragma omp single
  33. {
  34. if (test_taskloop_normal ()
  35. || test_taskloop_simd_normal ())
  36. err = 1;
  37. }
  38. if (err)
  39. abort ();
  40. return 0;
  41. }