1234567891011121314151617181920212223242526272829 |
- /* PR middle-end/80853 */
- /* { dg-do run } */
- __attribute__((noinline, noclone)) void
- foo (int *p)
- {
- #pragma omp for reduction(+:p[:4])
- for (int i = 0; i < 64; i++)
- {
- p[0] += i;
- p[1] += i / 2;
- p[2] += 2 * i;
- p[3] += 3 * i;
- }
- }
- int
- main ()
- {
- int p[4] = { 0, 0, 0, 0 };
- #pragma omp parallel
- foo (p);
- if (p[0] != 63 * 64 / 2
- || p[1] != 31 * 32
- || p[2] != 63 * 64
- || p[3] != 3 * 63 * 64 / 2)
- __builtin_abort ();
- return 0;
- }
|