/* { dg-do compile } */ | |
/* { dg-options "-fopenmp" } */ | |
struct S {}; | |
void foo (void *, void *); | |
void bar (void *, void *); | |
void baz (void *); | |
#pragma omp declare reduction(+:struct S:foo (&omp_out, &omp_in))initializer(bar(&omp_priv, &omp_orig)) | |
void | |
test (void) | |
{ | |
struct S a, b[10]; | |
#pragma omp parallel reduction(+:a) | |
baz (&a); | |
} |