blob: f1b388bbd918c512f1c54e78f63f0c066e9d6f24 [file] [log] [blame]
// { dg-do compile }
struct S; // { dg-error "forward declaration" }
#pragma omp declare reduction (+:S:omp_out.s += omp_in.s) // { dg-error "invalid use of 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;
}