#pragma omp target teams distribute lastprivate(ba)
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute lastprivate(ca) // expected-error {{shared variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute lastprivate(da) // expected-error {{shared variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
intxa;
#pragma omp target teams distribute lastprivate(xa) // OK
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute lastprivate(S2::S2s) // expected-error {{shared variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute lastprivate(S2::S2sc) // expected-error {{shared variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute 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 lastprivate(m) // expected-error {{'operator=' is a private member of 'S3'}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute lastprivate(h) // expected-error {{threadprivate or thread local variable cannot be lastprivate}}
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute 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 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 lastprivate(xa)
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute lastprivate(j)
for(i=0;i<argc;++i)foo();
#pragma omp target teams distribute 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 lastprivate(n) firstprivate(n) // OK
for(i=0;i<argc;++i)foo();
staticintsi;
#pragma omp target teams distribute lastprivate(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}}