#pragma omp for simd firstprivate(e, g) // expected-error {{calling a private constructor of class 'S4'}} expected-error {{calling a private constructor of class 'S5'}}
#pragma omp for simd firstprivate(h) // expected-error {{threadprivate or thread local variable cannot be firstprivate}}
for(intk=0;k<argc;++k)
++k;
#pragma omp parallel
#pragma omp for simd linear(i)
for(intk=0;k<argc;++k)
++k;
#pragma omp parallel
{
intv=0;
inti;// expected-note {{variable with automatic storage duration is predetermined as private; perhaps you forget to enclose 'omp for simd' directive into a parallel or another task region?}}
#pragma omp for simd firstprivate(i) // expected-error {{private variable cannot be firstprivate}}
for(intk=0;k<argc;++k){
i=k;
v+=i;
}
}
#pragma omp parallel shared(i)
#pragma omp parallel private(i)
#pragma omp for simd firstprivate(j) // expected-error {{arguments of OpenMP clause 'firstprivate' cannot be of reference type}}
#pragma omp for simd firstprivate(e, g) // expected-error {{calling a private constructor of class 'S4'}} expected-error {{calling a private constructor of class 'S5'}}
#pragma omp for simd firstprivate(h) // expected-error {{threadprivate or thread local variable cannot be firstprivate}}
for(i=0;i<argc;++i)
foo();
#pragma omp parallel
#pragma omp for simd private(xa), firstprivate(xa) // expected-error {{private variable cannot be firstprivate}} expected-note {{defined as private}}
for(i=0;i<argc;++i)
foo();
#pragma omp parallel
#pragma omp for simd firstprivate(i) // expected-note {{defined as firstprivate}}
for(i=0;i<argc;++i)// expected-error {{loop iteration variable in the associated loop of 'omp for simd' directive may not be firstprivate, predetermined as linear}}
foo();
#pragma omp parallel shared(xa)
#pragma omp for simd firstprivate(xa) // OK: may be firstprivate
for(i=0;i<argc;++i)
foo();
#pragma omp parallel
#pragma omp for simd firstprivate(j) // expected-error {{arguments of OpenMP clause 'firstprivate' cannot be of reference type}}
#pragma omp for simd lastprivate(n) firstprivate(n) // OK
for(i=0;i<argc;++i)
foo();
#pragma omp parallel
{
intv=0;
inti;// expected-note {{variable with automatic storage duration is predetermined as private; perhaps you forget to enclose 'omp for simd' directive into a parallel or another task region?}}
#pragma omp for simd firstprivate(i) // expected-error {{private variable cannot be firstprivate}}
for(intk=0;k<argc;++k){
i=k;
v+=i;
}
}
#pragma omp parallel private(i) // expected-note {{defined as private}}
#pragma omp for simd firstprivate(i) // expected-error {{firstprivate variable must be shared}}