1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// RUN: clang -rewrite-objc %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; } }