blob: 012ff0c97dd8e406cad245fc1c60191530d545c2 [file] [log] [blame]
// { 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;
}