1 // RUN: %clang_tsan -O1 %s -o %t && %run %t 2>&1 | FileCheck %s 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 6 int n; 7 const int N = 10000; 8 atexit1()9static void atexit1() { 10 n++; 11 } 12 atexit0()13static void atexit0() { 14 fprintf(stderr, "run count: %d\n", n); 15 } 16 main()17int main() { 18 atexit(atexit0); 19 for (int i = 0; i < N; i++) 20 atexit(atexit1); 21 } 22 23 // CHECK-NOT: FATAL: ThreadSanitizer 24 // CHECK-NOT: WARNING: ThreadSanitizer 25 // CHECK: run count: 10000 26 27