1 /* { dg-do compile } */ 2 /* { dg-require-effective-target tls } */ 3 4 #include <stdlib.h> 5 float *work; 6 int size; 7 float tol; 8 void build (void); 9 #pragma omp threadprivate(work,size,tol) 10 void a32(float t,int n)11a32 (float t, int n) 12 { 13 tol = t; 14 size = n; 15 #pragma omp parallel copyin(tol,size) 16 { 17 build (); 18 } 19 } 20 void build()21build () 22 { 23 int i; 24 work = (float *) malloc (sizeof (float) * size); 25 for (i = 0; i < size; ++i) 26 work[i] = tol; 27 } 28