brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · b42bafa Raw
114 lines · cpp
1// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=45 -ferror-limit 100 %s -Wuninitialized2 3// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=45 -ferror-limit 100 %s -Wuninitialized4 5template <class T>6T tmain(T argc) {7#pragma omp taskwait allocate(argc) // expected-error {{unexpected OpenMP clause 'allocate' in directive '#pragma omp taskwait'}}8#pragma omp taskwait depend(in:argc) // expected-error {{unexpected OpenMP clause 'depend' in directive '#pragma omp taskwait'}}9  ;10#pragma omp taskwait untied  // expected-error {{unexpected OpenMP clause 'untied' in directive '#pragma omp taskwait'}}11#pragma omp taskwait unknown // expected-warning {{extra tokens at the end of '#pragma omp taskwait' are ignored}}12  if (argc)13#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}14    if (argc) {15#pragma omp taskwait16    }17  while (argc)18#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}19    while (argc) {20#pragma omp taskwait21    }22  do23#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}24    while (argc)25      ;26  do {27#pragma omp taskwait28  } while (argc);29  switch (argc)30#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}31    switch (argc)32    case 1:33#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}34  switch (argc)35  case 1: {36#pragma omp taskwait37  }38  switch (argc) {39#pragma omp taskwait40  case 1:41#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}42    break;43  default: {44#pragma omp taskwait45  } break;46  }47  for (;;)48#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}49    for (;;) {50#pragma omp taskwait51    }52label:53#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}54label1 : {55#pragma omp taskwait56}57 58  return T();59}60 61int main(int argc, char **argv) {62#pragma omp taskwait63  ;64#pragma omp taskwait untied  // expected-error {{unexpected OpenMP clause 'untied' in directive '#pragma omp taskwait'}}65#pragma omp taskwait unknown // expected-warning {{extra tokens at the end of '#pragma omp taskwait' are ignored}}66  if (argc)67#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}68    if (argc) {69#pragma omp taskwait70    }71  while (argc)72#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}73    while (argc) {74#pragma omp taskwait75    }76  do77#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}78    while (argc)79      ;80  do {81#pragma omp taskwait82  } while (argc);83  switch (argc)84#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}85    switch (argc)86    case 1:87#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}88  switch (argc)89  case 1: {90#pragma omp taskwait91  }92  switch (argc) {93#pragma omp taskwait94  case 1:95#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}96    break;97  default: {98#pragma omp taskwait99  } break;100  }101  for (;;)102#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}103    for (;;) {104#pragma omp taskwait105    }106label:107#pragma omp taskwait // expected-error {{'#pragma omp taskwait' cannot be an immediate substatement}}108label1 : {109#pragma omp taskwait110}111 112  return tmain(argc);113}114