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