Home | History | Annotate | Download | only in output_tests
      1 #include <pthread.h>
      2 
      3 volatile int N;  // Prevent loop unrolling.
      4 int **data;
      5 
      6 void *Thread1(void *x) {
      7   for (int i = 0; i < N; i++)
      8     data[i][0] = 42;
      9   return 0;
     10 }
     11 
     12 int main() {
     13   N = 4;
     14   data = new int*[N];
     15   for (int i = 0; i < N; i++)
     16     data[i] = new int;
     17   pthread_t t;
     18   pthread_create(&t, 0, Thread1, 0);
     19   Thread1(0);
     20   pthread_join(t, 0);
     21   for (int i = 0; i < N; i++)
     22     delete data[i];
     23   delete[] data;
     24 }
     25 
     26 // CHECK: ThreadSanitizer: reported 1 warnings
     27 
     28