1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -verify -fopenmp=libiomp5 -ferror-limit 100 -o - %s
24fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev
34fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataevvoid foo();
44fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev
54fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataevint main(int argc, char **argv) {
64fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev  #pragma omp parallel default // expected-error {{expected '(' after 'default'}}
74fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev  #pragma omp parallel default ( // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} expected-error {{expected ')'}} expected-note {{to match this '('}}
84fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev  #pragma omp parallel default () // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}}
94fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev  #pragma omp parallel default (none // expected-error {{expected ')'}} expected-note {{to match this '('}}
104fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev  #pragma omp parallel default (shared), default(shared) // expected-error {{directive '#pragma omp parallel' cannot contain more than one 'default' clause}}
114fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev  #pragma omp parallel default (x) // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}}
124fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev  foo();
134fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev
140c018357b8bbb1f96bbf622a5807421e626b4228Alexey Bataev  #pragma omp parallel default(none)
150c018357b8bbb1f96bbf622a5807421e626b4228Alexey Bataev  ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
160c018357b8bbb1f96bbf622a5807421e626b4228Alexey Bataev
170c018357b8bbb1f96bbf622a5807421e626b4228Alexey Bataev  #pragma omp parallel default(none)
180c018357b8bbb1f96bbf622a5807421e626b4228Alexey Bataev  #pragma omp parallel default(shared)
190c018357b8bbb1f96bbf622a5807421e626b4228Alexey Bataev  ++argc;
204fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev  return 0;
214fa7eab771ab8212e1058bd1a91061ff120c8fbbAlexey Bataev}
22