29 lines · plain
1// RUN: %clang_cc1 -fsyntax-only -verify -Wthread-safety -Wthread-safety-beta -Wno-objc-root-class %s2 3#include "thread-safety-analysis.h"4 5@interface MyInterface {6@private7 Lock lock_;8 int value_;9}10 11- (void)incrementValue;12- (void)decrementValue;13 14@end15 16@implementation MyInterface17 18- (void)incrementValue {19 AutoLock lock(lock_);20 value_ += 1;21}22 23- (void)decrementValue {24 lock_.Acquire(); // expected-note{{mutex acquired here}}25 value_ -= 1;26} // expected-warning{{mutex 'self->lock_' is still held at the end of function}}27 28@end29