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()8foo () 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()18bar () 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