Merge from trunk
[official-gcc.git] / gcc / testsuite / g++.dg / gomp / pr59150.C
blob103edb6491807cc1edf71de31e20872171211bdd
1 // PR middle-end/59150
2 // { dg-do compile }
3 // { dg-options "-O -fopenmp-simd -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce" }
5 #pragma omp declare reduction (foo: int: omp_out += omp_in) initializer (omp_priv = 0)
7 int
8 foo ()
10   int i, v, &u = v;
11   #pragma omp simd reduction (foo:u)
12     for (i = 0; i < 1024; i++)
13       u = i;
14   return u;
17 int
18 bar ()
20   int i, v, &u = v;
21   #pragma omp simd reduction (foo:u) safelen(1)
22     for (i = 0; i < 1024; i++)
23       u = i;
24   return u;