1/* PR middle-end/45423 */
2/* { dg-do compile } */
3/* { dg-options "-fopenmp" } */
4
5#ifdef __cplusplus
6bool *baz ();
7#else
8_Bool *baz ();
9#endif
10int *bar ();
11
12int
13foo (void)
14{
15  #pragma omp barrier
16  #pragma omp atomic
17    (*bar ())++;
18  #pragma omp barrier
19  #pragma omp atomic
20    ++(*bar ());
21  #pragma omp barrier
22  #pragma omp atomic
23    (*bar ())--;
24  #pragma omp barrier
25  #pragma omp atomic
26    --(*bar ());
27  #pragma omp barrier
28  #pragma omp atomic
29    (*baz ())++;
30  #pragma omp barrier
31  #pragma omp atomic
32    ++(*baz ());
33#ifndef __cplusplus
34  #pragma omp barrier
35  #pragma omp atomic
36    (*baz ())--;
37  #pragma omp barrier
38  #pragma omp atomic
39    --(*baz ());
40  #pragma omp barrier
41#endif
42  return 0;
43}
44