1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify -Wthread-safety -Wthread-safety-beta -Wno-objc-root-class %s 2*67e74705SXin Li 3*67e74705SXin Listruct __attribute__ ((lockable)) Mutex {}; 4*67e74705SXin Li 5*67e74705SXin Listruct Mutex mu1; 6*67e74705SXin Li 7*67e74705SXin Liint Foo_fun1(int i) __attribute__ ((exclusive_locks_required((mu1)))) { 8*67e74705SXin Li return i; 9*67e74705SXin Li} 10*67e74705SXin Li 11*67e74705SXin Li@interface test 12*67e74705SXin Li@end 13*67e74705SXin Li 14*67e74705SXin Li@implementation test 15*67e74705SXin Li- (void) PR19541 { 16*67e74705SXin Li Foo_fun1(1); // expected-warning{{calling function 'Foo_fun1' requires holding mutex 'mu1' exclusively}} 17*67e74705SXin Li} 18*67e74705SXin Li 19*67e74705SXin Li@end 20