/* PR middle-end/45423 */ | |
/* { dg-do compile } */ | |
/* { dg-options "-fopenmp" } */ | |
#ifdef __cplusplus | |
bool *baz (); | |
#else | |
_Bool *baz (); | |
#endif | |
int *bar (); | |
int | |
foo (void) | |
{ | |
#pragma omp barrier | |
#pragma omp atomic | |
(*bar ())++; | |
#pragma omp barrier | |
#pragma omp atomic | |
++(*bar ()); | |
#pragma omp barrier | |
#pragma omp atomic | |
(*bar ())--; | |
#pragma omp barrier | |
#pragma omp atomic | |
--(*bar ()); | |
#pragma omp barrier | |
#pragma omp atomic | |
(*baz ())++; | |
#pragma omp barrier | |
#pragma omp atomic | |
++(*baz ()); | |
#ifndef __cplusplus | |
#pragma omp barrier | |
#pragma omp atomic | |
(*baz ())--; | |
#pragma omp barrier | |
#pragma omp atomic | |
--(*baz ()); | |
#pragma omp barrier | |
#endif | |
return 0; | |
} |