// { dg-do compile }
// { dg-require-effective-target tls }
int i, j;
#pragma omp threadprivate (i)
void bar(void);
void foo(void)
{
  int k;
  extern int l;
  extern int m;
#pragma omp threadprivate (m)
  #pragma omp parallel copyin(i)
    bar();
  #pragma omp parallel copyin(j)	// { dg-error "threadprivate" }
    bar();
  #pragma omp parallel copyin(k)	// { dg-error "threadprivate" }
    bar();
  #pragma omp parallel copyin(l)	// { dg-error "threadprivate" }
    bar();
  #pragma omp parallel copyin(m)
    bar();
}