1 // RUN: %clang_cc1 -verify -fopenmp %s -Wuninitialized
3 // RUN: %clang_cc1 -verify -fopenmp-simd %s -Wuninitialized
6 int x
; // expected-note {{initialize the variable 'x' to silence this warning}}
7 #pragma omp parallel master
8 argc
= x
; // expected-warning {{variable 'x' is uninitialized when used here}}
11 #pragma omp parallel master // expected-error {{unexpected OpenMP directive '#pragma omp parallel master'}}
20 int main(int argc
, char **argv
) {
21 #pragma omp parallel master nowait // expected-error {{unexpected OpenMP clause 'nowait' in directive '#pragma omp parallel master'}}
22 #pragma omp parallel master unknown // expected-warning {{extra tokens at the end of '#pragma omp parallel master' are ignored}}
26 } // expected-error {{expected statement}}
28 #pragma omp parallel master
29 } // expected-error {{expected statement}}
32 #pragma omp parallel master
34 #pragma omp parallel master { // expected-warning {{extra tokens at the end of '#pragma omp parallel master' are ignored}}
36 #pragma omp parallel master ( // expected-warning {{extra tokens at the end of '#pragma omp parallel master' are ignored}}
38 #pragma omp parallel master [ // expected-warning {{extra tokens at the end of '#pragma omp parallel master' are ignored}}
40 #pragma omp parallel master ] // expected-warning {{extra tokens at the end of '#pragma omp parallel master' are ignored}}
42 #pragma omp parallel master ) // expected-warning {{extra tokens at the end of '#pragma omp parallel master' are ignored}}
44 #pragma omp parallel master } // expected-warning {{extra tokens at the end of '#pragma omp parallel master' are ignored}}
46 #pragma omp parallel master
47 // expected-warning@+1 {{extra tokens at the end of '#pragma omp parallel master' are ignored}}
48 #pragma omp parallel master unknown()
52 #pragma omp parallel master
54 #pragma omp parallel master
57 for (int i
= 0; i
< 10; ++i
) {
60 #pragma omp parallel master
63 break; // expected-error {{'break' statement not in loop or switch statement}}
64 continue; // expected-error {{'continue' statement not in loop statement}}
70 goto L1
; // expected-error {{use of undeclared label 'L1'}}
73 #pragma omp parallel master default(none) // expected-note 2 {{explicit data sharing attribute requested here}}
75 ++argc
; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
76 ++a
; // expected-error {{variable 'a' must have explicitly specified data sharing attributes}}
79 goto L2
; // expected-error {{use of undeclared label 'L2'}}
80 #pragma omp parallel master
83 #pragma omp parallel master
85 return 1; // expected-error {{cannot return from OpenMP region}}