summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Analysis/retain-release.m14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/Analysis/retain-release.m b/clang/test/Analysis/retain-release.m
index 06c510e5dd3..3aa2656c62f 100644
--- a/clang/test/Analysis/retain-release.m
+++ b/clang/test/Analysis/retain-release.m
@@ -1055,10 +1055,14 @@ typedef struct _opaque_pthread_t *__darwin_pthread_t;
typedef struct _opaque_pthread_attr_t __darwin_pthread_attr_t;
typedef __darwin_pthread_t pthread_t;
typedef __darwin_pthread_attr_t pthread_attr_t;
+typedef unsigned long __darwin_pthread_key_t;
+typedef __darwin_pthread_key_t pthread_key_t;
int pthread_create(pthread_t *, const pthread_attr_t *,
void *(*)(void *), void *);
+int pthread_setspecific(pthread_key_t key, const void *value);
+
void *rdar_7299394_start_routine(void *p) {
[((id) p) release];
return 0;
@@ -1072,6 +1076,16 @@ void rdar_7299394_positive(pthread_attr_t *attr, pthread_t *thread) {
}
//===----------------------------------------------------------------------===//
+// <rdar://problem/11282706> false positive with not understanding thread
+// local storage
+//===----------------------------------------------------------------------===//
+
+void rdar11282706(pthread_key_t key) {
+ NSNumber *number = [[NSNumber alloc] initWithInt:5]; // no-warning
+ pthread_setspecific(key, (void*) number);
+}
+
+//===----------------------------------------------------------------------===//
// <rdar://problem/7283567> False leak associated with call to
// CVPixelBufferCreateWithBytes ()
//
OpenPOWER on IntegriCloud