/* { dg-do compile } */
void
a31_1 (float *x, int *y, int n)
{
int i, b;
float a;
a = 0.0;
b = 0;
#pragma omp parallel for private(i) shared(x, y, n) \
reduction(+:a) reduction(^:b)
for (i = 0; i < n; i++)
a += x[i];
b ^= y[i];
}