loop-8.c 433 B

12345678910111213141516171819202122232425262728
  1. extern void abort (void);
  2. int buf[256];
  3. void __attribute__((noinline))
  4. foo (void)
  5. {
  6. int i;
  7. #pragma omp for schedule (auto)
  8. for (i = 0; i < 256; i++)
  9. buf[i] += i;
  10. }
  11. int
  12. main (void)
  13. {
  14. int i;
  15. #pragma omp parallel for schedule (auto)
  16. for (i = 0; i < 256; i++)
  17. buf[i] = i;
  18. #pragma omp parallel num_threads (4)
  19. foo ();
  20. for (i = 0; i < 256; i++)
  21. if (buf[i] != 2 * i)
  22. abort ();
  23. return 0;
  24. }