[PATCH] D55959: [TSan] Enable detection of lock-order-inversions for Objective-C @synchronized

Julian Lettner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 20 16:01:46 PST 2018


yln updated this revision to Diff 179192.
yln added a comment.

Added test for recursive @synchronized blocks, that is, nested @synchronized on the same object. This tests proves lock recursiveness.

Directly `#include <objc/objc-sync.h>`. Had to change parameter type from `void *obj` to `id obj` in the interceptors to avoid `error: conflicting types for 'objc_sync_enter'`.


Repository:
  rCRT Compiler Runtime

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55959/new/

https://reviews.llvm.org/D55959

Files:
  compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cc
  compiler-rt/test/tsan/Darwin/objc-synchronize-cycle.mm
  compiler-rt/test/tsan/Darwin/objc-synchronize-nested-recursive.mm

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55959.179192.patch
Type: text/x-patch
Size: 3672 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181221/e8123b38/attachment.bin>


More information about the llvm-commits mailing list