OSDN Git Service

PR c++/47277
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / gomp / atomic-13.C
1 /* PR middle-end/45423 */
2 /* { dg-do compile } */
3 /* { dg-options "-fopenmp" } */
4
5 #ifdef __cplusplus
6 bool *baz ();
7 #else
8 _Bool *baz ();
9 #endif
10 int *bar ();
11
12 int
13 foo (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 }