// PR middle-end/35185 | |
// { dg-do run } | |
extern "C" void abort (); | |
struct S | |
{ | |
S () : s (6) {} | |
~S () {} | |
int s; | |
}; | |
__attribute__((noinline)) | |
bool | |
bar (S s) | |
{ | |
return s.s != 6; | |
} | |
int | |
main () | |
{ | |
S s; | |
int err = 0; | |
#pragma omp parallel shared (s) | |
{ | |
if (bar (s)) | |
#pragma omp atomic | |
err++; | |
} | |
if (err) | |
abort (); | |
} |