// { dg-do compile } | |
struct S; // { dg-message "forward declaration" } | |
#pragma omp declare reduction (+:S:omp_out.s += omp_in.s) // { dg-error "incomplete type" } | |
struct S { int s; S () : s (1) {} }; | |
#pragma omp declare reduction (*:S:omp_out.s *= omp_in.s) | |
void | |
foo () | |
{ | |
S s; | |
#pragma omp parallel reduction (S::~S:s) // { dg-error "invalid reduction-identifier" } | |
s.s = 1; | |
} |