brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 6a1a1f9 Raw
54 lines · cpp
1 2// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=60 -DOMP60 %s -Wuninitialized3 4// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=60 -DOMP60 %s -Wuninitialized5 6// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=52 -DOMP52 %s -Wuninitialized7 8void foo();9 10namespace {11static int y = 0;12}13static int x = 0;14 15int main(int argc, char **argv) {16#ifdef OMP6017  #pragma omp target default // expected-error {{expected '(' after 'default'}}18  for (int i=0; i<200; i++) foo();19#pragma omp target  default( // expected-error {{expected 'none', 'shared', 'private' or 'firstprivate' in OpenMP clause 'default'}} expected-error {{expected ')'}} expected-note {{to match this '('}}20  for (int i=0; i<200; i++) foo();21#pragma omp target default() // expected-error {{expected 'none', 'shared', 'private' or 'firstprivate' in OpenMP clause 'default'}}22  for (int i=0; i<200; i++) foo();23  #pragma omp target default (none // expected-error {{expected ')'}} expected-note {{to match this '('}}24  for (int i=0; i<200; i++) foo();25#pragma omp target  default(x) // expected-error {{expected 'none', 'shared', 'private' or 'firstprivate' in OpenMP clause 'default'}}26  for (int i=0; i<200; i++) foo();27#pragma omp target default(none) // expected-note {{explicit data sharing attribute, data mapping attribute, or is_device_ptr clause requested here}}28  x++; // expected-error {{variable 'x' must have explicitly specified data sharing attributes, data mapping attributes, or in an is_device_ptr clause}}29#endif 30 31#ifdef OMP5232#pragma omp target default(firstprivate) // expected-error {{unexpected OpenMP clause 'default' in directive '#pragma omp target'}}33  for (int i = 0; i < 200; i++) {34    ++x;35    ++y;36  }37#pragma omp target default(private) // expected-error {{unexpected OpenMP clause 'default' in directive '#pragma omp target'}}38  for (int i = 0; i < 200; i++) {39    ++x;40    ++y;41  }42 43int j = 0, i = 0, nn = 10;44#pragma omp target teams distribute simd default(shared) // expected-error {{unexpected OpenMP clause 'default' in directive '#pragma omp target teams distribute simd'}}45	for (j = 0; j < nn; j++ ) {46	  for (i = 0; i < nn; i++ ) {47		;48	  }49	}50#endif 51 52  return 0;53}54