brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 984f893 Raw
64 lines · cpp
1// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=50 -ferror-limit 100 -o - %s -Wuninitialized2 3// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=50 -ferror-limit 100 -o - %s -Wuninitialized4 5// RUN: %clang_cc1 -verify -DOMP51 -fopenmp -ferror-limit 100 -o - %s -Wuninitialized6 7// RUN: %clang_cc1 -verify -DOMP51 -fopenmp-simd -ferror-limit 100 -o - %s -Wuninitialized8 9void foo();10 11namespace {12static int y = 0;13}14static int x = 0;15 16int main(int argc, char **argv) {17#pragma omp parallel master default // expected-error {{expected '(' after 'default'}}18  {19#pragma omp parallel master default( // expected-error {{expected 'none', 'shared', 'private' or 'firstprivate' in OpenMP clause 'default'}} expected-error {{expected ')'}} expected-note {{to match this '('}}20      {21#pragma omp parallel master default() // expected-error {{expected 'none', 'shared', 'private' or 'firstprivate' in OpenMP clause 'default'}}22          {23#pragma omp parallel master default(none // expected-error {{expected ')'}} expected-note {{to match this '('}}24              {25#pragma omp parallel master default(shared), default(shared) // expected-error {{directive '#pragma omp parallel master' cannot contain more than one 'default' clause}}26                  {27#pragma omp parallel master default(x) // expected-error {{expected 'none', 'shared', 'private' or 'firstprivate' in OpenMP clause 'default'}}28                      {foo();29            }30          }31        }32      }33    }34  }35 36#pragma omp parallel master default(none) // expected-note {{explicit data sharing attribute requested here}}37  {38    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}39  }40 41#pragma omp parallel master default(none) // expected-note {{explicit data sharing attribute requested here}}42  {43#pragma omp parallel master default(shared)44    {45      ++argc;  // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}46    }47  }48 49#ifdef OMP5150#pragma omp parallel master default(firstprivate) // expected-note 2 {{explicit data sharing attribute requested here}}51  {52    ++x; // expected-error {{variable 'x' must have explicitly specified data sharing attributes}}53    ++y; // expected-error {{variable 'y' must have explicitly specified data sharing attributes}}54  }55#pragma omp parallel master default(private) // expected-note 2 {{explicit data sharing attribute requested here}}56  {57    ++x; // expected-error {{variable 'x' must have explicitly specified data sharing attributes}}58    ++y; // expected-error {{variable 'y' must have explicitly specified data sharing attributes}}59  }60#endif61 62  return 0;63}64