mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-27 23:31:44 +00:00
34 lines
339 B
C++
34 lines
339 B
C++
|
// 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 ();
|
||
|
}
|