123456789101112131415161718192021222324252627 |
- /* { dg-additional-options "-foffload-options=nvptx-none=-latomic" { target { offload_target_nvptx } } } */
- #include <stdlib.h>
- struct s
- {
- int i;
- };
- #pragma omp declare reduction(+: struct s: omp_out.i += omp_in.i)
- int
- main (void)
- {
- const int N0 = 32768;
- struct s counter_N0 = { 0 };
- #pragma omp target
- #pragma omp for simd reduction(+: counter_N0)
- for (int i0 = 0 ; i0 < N0 ; i0++ )
- counter_N0.i += 1;
- if (counter_N0.i != N0)
- abort ();
- return 0;
- }
|