#pragma omp parallel for simd // expected-error {{unexpected OpenMP directive '#pragma omp parallel for simd'}}
intmain(intargc,char**argv){
#pragma omp parallel for simd { // expected-warning {{extra tokens at the end of '#pragma omp parallel for simd' are ignored}}
for(inti=0;i<argc;++i)
foo();
#pragma omp parallel for simd ( // expected-warning {{extra tokens at the end of '#pragma omp parallel for simd' are ignored}}
for(inti=0;i<argc;++i)
foo();
#pragma omp parallel for simd[ // expected-warning {{extra tokens at the end of '#pragma omp parallel for simd' are ignored}}
for(inti=0;i<argc;++i)
foo();
#pragma omp parallel for simd] // expected-warning {{extra tokens at the end of '#pragma omp parallel for simd' are ignored}}
for(inti=0;i<argc;++i)
foo();
#pragma omp parallel for simd) // expected-warning {{extra tokens at the end of '#pragma omp parallel for simd' are ignored}}
for(inti=0;i<argc;++i)
foo();
#pragma omp parallel for simd } // expected-warning {{extra tokens at the end of '#pragma omp parallel for simd' are ignored}}
for(inti=0;i<argc;++i)
foo();
#pragma omp parallel for simd
for(inti=0;i<argc;++i)
foo();
// expected-warning@+1 {{extra tokens at the end of '#pragma omp parallel for simd' are ignored}}
#pragma omp parallel for simd unknown()
for(inti=0;i<argc;++i)
foo();
L1:
for(inti=0;i<argc;++i)
foo();
#pragma omp parallel for simd
for(inti=0;i<argc;++i)
foo();
#pragma omp parallel for simd
for(inti=0;i<argc;++i){
gotoL1;// expected-error {{use of undeclared label 'L1'}}
argc++;
}
for(inti=0;i<10;++i){
switch(argc){
case(0):
#pragma omp parallel for simd
for(inti=0;i<argc;++i){
foo();
break;// expected-error {{'break' statement cannot be used in OpenMP for loop}}
continue;
}
default:
break;
}
}
#pragma omp parallel for simd default(none)
for(inti=0;i<10;++i)
++argc;// expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
gotoL2;// expected-error {{use of undeclared label 'L2'}}
#pragma omp parallel for simd
for(inti=0;i<argc;++i)
L2:
foo();
#pragma omp parallel for simd
for(inti=0;i<argc;++i){
return1;// expected-error {{cannot return from OpenMP region}}
}
[[]]// expected-error {{an attribute list cannot appear here}}
#pragma omp parallel for simd
for(intn=0;n<100;++n){
}
return0;
}
voidtest_ordered(){
#pragma omp parallel for simd ordered ordered // expected-error {{directive '#pragma omp parallel for simd' cannot contain more than one 'ordered' clause}}