15d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines// RUN: %clang_tsan -O1 %s -o %t && %deflake %run %t | FileCheck %s 2da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany#include <pthread.h> 34536cb1fa7734133f404acb413589d7a6d314f4aDmitry Vyukov#include <unistd.h> 4da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany 5da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryanyvoid *Thread(void *x) { 6da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany return 0; 7da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany} 8da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany 9da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryanyint main() { 10da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany pthread_t t; 11da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany pthread_create(&t, 0, Thread, 0); 124536cb1fa7734133f404acb413589d7a6d314f4aDmitry Vyukov sleep(1); 13da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany return 0; 14da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany} 15da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany 16da4edd850db1a333c15fc3b0abc01a2e8d2f08feKostya Serebryany// CHECK: WARNING: ThreadSanitizer: thread leak 172f588f9d3417aa107ebbbd8830f97501023d3f40Kostya Serebryany// CHECK: SUMMARY: ThreadSanitizer: thread leak{{.*}}main 18