1 /* { dg-do compile } */
2 
f1(void)3 void f1(void)
4 {
5   #pragma omp barrier a		/* { dg-error "expected end of line" } */
6 }
7 
8 /* OpenMP 2.5, section 2.7.3:
9 
10    Note that because the barrier construct does not have a C language
11    statement as part of its syntax, there are some restrictions on its
12    placement within a program. The barrier directive may only be placed
13    in the program at a position where ignoring or deleting the directive
14    would result in a program with correct syntax.  */
15 
f2(void)16 void f2(void)
17 {
18   label:       /* { dg-error "label at end of compound statement" } */
19     #pragma omp barrier
20 }
21 
f3(_Bool p)22 void f3(_Bool p)
23 {
24   if (p)
25     #pragma omp barrier		/* { dg-error "compound statements" } */
26 }
27