// RUN: %clangxx_tsan %s -o %t -framework Foundation
// RUN: %run %t 2>&1 | FileCheck %s

#import <Foundation/Foundation.h>

int main() {
  fprintf(stderr, "start\n");

  dispatch_queue_t background_q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
  dispatch_queue_t main_q = dispatch_get_main_queue();

  dispatch_async(background_q, ^{
    __block long block_var = 0;

    dispatch_sync(main_q, ^{
      block_var = 42;
    });

    fprintf(stderr, "block_var = %ld\n", block_var);

    dispatch_sync(dispatch_get_main_queue(), ^{
      CFRunLoopStop(CFRunLoopGetCurrent());
    });
  });
  
  CFRunLoopRun();
  fprintf(stderr, "done\n");
}

// CHECK: start
// CHECK: block_var = 42
// CHECK: done
// CHECK-NOT: WARNING: ThreadSanitizer
// CHECK-NOT: CHECK failed
