llvm-project/clang/test/SemaObjC/warn-thread-safety-analysis.m
Benjamin Kramer a7bcab75d2 ThreadSafetyAnalysis: Don't crash when trying to analyze objc methods.
The thread safety analysis isn't very useful in ObjC (you can't annotate
ObjC classes or methods) but we can still analyze the actual code and
show violations in usage of C/C++ functions.

Fixes PR19541, which does not use thread safety attributes but crashes
with -Weverything.

llvm-svn: 208436
2014-05-09 17:08:01 +00:00

20 lines
431 B
Objective-C

// RUN: %clang_cc1 -fsyntax-only -verify -Wthread-safety -Wthread-safety-beta -Wno-objc-root-class %s
struct __attribute__ ((lockable)) Mutex {};
struct Mutex mu1;
int Foo_fun1(int i) __attribute__ ((exclusive_locks_required((mu1)))) {
return i;
}
@interface test
@end
@implementation test
- (void) PR19541 {
Foo_fun1(1); // expected-warning{{calling function 'Foo_fun1' requires holding mutex 'mu1' exclusively}}
}
@end