1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// RUN: %clang_cc1 -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 %s -o - id SYNCH_EXPR(); void SYNCH_BODY(); void SYNCH_BEFORE(); void SYNC_AFTER(); void foo(id sem) { SYNCH_BEFORE(); @synchronized (SYNCH_EXPR()) { SYNCH_BODY(); return; } SYNC_AFTER(); @synchronized ([sem self]) { SYNCH_BODY(); return; } }