/* PR middle-end/102431 */ | |
struct S { int s; } s; | |
void add (struct S *, struct S *); | |
void init (struct S *); | |
void bar (int i, struct S *); | |
#pragma omp declare reduction (+:struct S:add (&omp_out, &omp_in)) initializer (init (&omp_priv)) | |
void | |
foo (void) | |
{ | |
int i; | |
#pragma omp loop bind(teams) reduction(+:s) | |
for (i = 0; i < 8; i++) | |
bar (i, &s); | |
} |