pr104952-1.c 371 B

123456789101112131415161718192021222324
  1. #define N 32
  2. static char arr[N];
  3. int
  4. main (void)
  5. {
  6. unsigned int result = 0;
  7. for (unsigned int i = 0; i < N; ++i)
  8. arr[i] = 0;
  9. arr[5] = 42;
  10. #pragma omp target map(tofrom:result) map(to:arr)
  11. #pragma omp simd reduction(||: result)
  12. for (unsigned int i = 0; i < N; ++i)
  13. result = result || arr[i];
  14. if (result != 1)
  15. __builtin_abort ();
  16. return 0;
  17. }