3 extern "C" void abort ();
8 void foo (S &x) { s += x.s; }
9 S (const S &x) { s = x.s + 1; }
17 if (x.s != 6 || y.s != 6)
22 #pragma omp declare reduction (foo: S: omp_out.foo (omp_in)) \
23 initializer (omp_priv (omp_orig))
24 #pragma omp declare reduction (bar : S: omp_out.foo (omp_in)) \
25 initializer (bar (omp_priv, omp_orig))
32 if (x.s != 7 || r.s != 6)
34 #pragma omp parallel reduction (foo: x) reduction (bar: r) \
37 if (x.s != 8 || r.s != 8)
43 if (x.s != 7 + 12 * i || r.s != 6 + 14 * i)
52 #pragma omp parallel reduction (foo: x) reduction (bar: y) \
55 if (x.s != 7 || y.s != 8)
61 if (x.s != 6 + 12 * j || y.s != 6 + 14 * j)