#pragma omp distribute simd firstprivate(e, g) // expected-error {{calling a private constructor of class 'S4'}} expected-error {{calling a private constructor of class 'S5'}}
for(intk=0;k<argc;++k)
++k;
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(h) // expected-error {{threadprivate or thread local variable cannot be firstprivate}}
#pragma omp distribute 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 distribute simd' directive may not be firstprivate, predetermined as linear}}
foo();
#pragma omp parallel reduction(+ : i)
#pragma omp target
#pragma omp teams
#pragma omp distribute 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 distribute simd' directive may not be firstprivate, predetermined as linear}}
foo();
return0;
}
namespaceA{
doublex;
#pragma omp threadprivate(x) // expected-note {{defined as threadprivate or thread local}}
#pragma omp distribute simd firstprivate(ba) // OK
for(i=0;i<argc;++i)
foo();
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(ca) // OK
for(i=0;i<argc;++i)
foo();
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(da) // OK
for(i=0;i<argc;++i)
foo();
intxa;
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(xa) // OK
for(i=0;i<argc;++i)
foo();
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(S2::S2s) // OK
for(i=0;i<argc;++i)
foo();
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(S2::S2sc) // OK
for(i=0;i<argc;++i)
foo();
#pragma omp target
#pragma omp teams
#pragma omp distribute simd safelen(5) // OK
for(i=0;i<argc;++i)
foo();
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(e, g) // expected-error {{calling a private constructor of class 'S4'}} expected-error {{calling a private constructor of class 'S5'}}
for(i=0;i<argc;++i)
foo();
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(m) // OK
for(i=0;i<argc;++i)
foo();
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(h, B::x) // expected-error 2 {{threadprivate or thread local variable cannot be firstprivate}}
for(i=0;i<argc;++i)
foo();
#pragma omp target
#pragma omp teams
#pragma omp distribute 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 target
#pragma omp teams
#pragma omp distribute 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 distribute simd' directive may not be firstprivate, predetermined as linear}}
foo();
#pragma omp parallel shared(xa)
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(xa) // OK: may be firstprivate
#pragma omp distribute 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 distribute simd' directive may not be firstprivate, predetermined as linear}}
foo();
#pragma omp parallel reduction(+ : i)
#pragma omp target
#pragma omp teams
#pragma omp distribute 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 distribute simd' directive may not be firstprivate, predetermined as linear}}
foo();
staticintsi;
#pragma omp target
#pragma omp teams
#pragma omp distribute simd firstprivate(si) // OK
for(i=0;i<argc;++i)
si=i+1;
returnfoomain<S4,S5>(argc,argv);// expected-note {{in instantiation of function template specialization 'foomain<S4, S5>' requested here}}