! { dg-do compile }
! { dg-require-effective-target tls }

      MODULE M
        REAL, POINTER, SAVE :: WORK(:)
        INTEGER :: SIZE
        REAL :: TOL
!$OMP THREADPRIVATE(WORK,SIZE,TOL)
      END MODULE M
      SUBROUTINE A32( T, N )
        USE M
        REAL :: T
        INTEGER :: N
        TOL = T
        SIZE = N
!$OMP PARALLEL COPYIN(TOL,SIZE)
        CALL BUILD
!$OMP END PARALLEL
      END SUBROUTINE A32
      SUBROUTINE BUILD
        USE M
        ALLOCATE(WORK(SIZE))
        WORK = TOL
      END SUBROUTINE BUILD
