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" }
4 
5 #pragma omp declare reduction (foo: int: omp_out += omp_in) initializer (omp_priv = 0)
6 
7 int
foo()8 foo ()
9 {
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;
15 }
16 
17 int
bar()18 bar ()
19 {
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;
25 }
26