#pragma omp target teams distribute simd lastprivate(ba)
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd lastprivate(ca) // expected-error {{shared variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd lastprivate(da) // expected-error {{shared variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
intxa;
#pragma omp target teams distribute simd lastprivate(xa) // OK
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd lastprivate(S2::S2s) // expected-error {{shared variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd lastprivate(S2::S2sc) // expected-error {{shared variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd lastprivate(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 teams distribute simd lastprivate(m) // expected-error {{'operator=' is a private member of 'S3'}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd lastprivate(h) // expected-error {{threadprivate or thread local variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd lastprivate(B::x) // expected-error {{threadprivate or thread local variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd private(xa), lastprivate(xa) // expected-error {{private variable cannot be lastprivate}} expected-note {{defined as private}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd lastprivate(xa)
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd lastprivate(j)
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd firstprivate(m) lastprivate(m) // expected-error {{'operator=' is a private member of 'S3'}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute simd lastprivate(n) firstprivate(n) // OK
for(i=0;i<argc;++i)foo();
staticintsi;
#pragma omp target teams distribute simd lastprivate(si) // OK
for(i=0;i<argc;++i)si=i+1;
#pragma omp target teams distribute simd lastprivate(k) map(k) // expected-error {{lastprivate variable cannot be in a map clause in '#pragma omp target teams distribute simd' directive}} expected-note {{defined as lastprivate}}
for(i=0;i<argc;++i)foo();
returnfoomain<S4,S5>(argc,argv);// expected-note {{in instantiation of function template specialization 'foomain<S4, S5>' requested here}}