1 // RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 -o - %s 2 3 // RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -o - %s 4 5 void foo(); 6 7 int main(int argc, char **argv) { 8 #pragma omp target parallel default // expected-error {{expected '(' after 'default'}} 9 foo(); 10 #pragma omp target parallel default ( // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} expected-error {{expected ')'}} expected-note {{to match this '('}} 11 foo(); 12 #pragma omp target parallel default () // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} 13 foo(); 14 #pragma omp target parallel default (none // expected-error {{expected ')'}} expected-note {{to match this '('}} 15 foo(); 16 #pragma omp target parallel default (shared), default(shared) // expected-error {{directive '#pragma omp target parallel' cannot contain more than one 'default' clause}} 17 foo(); 18 #pragma omp target parallel default (x) // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} 19 foo(); 20 21 #pragma omp target parallel default(none) 22 ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} 23 24 #pragma omp target parallel default(none) 25 foo(); 26 #pragma omp target parallel default(shared) 27 ++argc; 28 #pragma omp target parallel default(none) 29 #pragma omp parallel default(shared) 30 ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} 31 return 0; 32 } 33