CGColorSpace.c revision be1fe1eb12a1cb91c8e3a9fcc2db4dfe989def6c
1// RUN: clang -analyze -checker-cfref -analyzer-store=basic -verify %s &&
2// RUN: clang -analyze -checker-cfref -analyzer-store=region -verify %s &&
3// RUN: clang -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
4
5typedef struct CGColorSpace *CGColorSpaceRef;
6extern CGColorSpaceRef CGColorSpaceCreateDeviceRGB(void);
7extern CGColorSpaceRef CGColorSpaceRetain(CGColorSpaceRef space);
8extern void CGColorSpaceRelease(CGColorSpaceRef space);
9
10void f() {
11  CGColorSpaceRef X = CGColorSpaceCreateDeviceRGB(); // expected-warning{{leak}}
12  CGColorSpaceRetain(X);
13}
14
15void fb() {
16  CGColorSpaceRef X = CGColorSpaceCreateDeviceRGB();
17  CGColorSpaceRetain(X);
18  CGColorSpaceRelease(X);
19  CGColorSpaceRelease(X);  // no-warning
20}
21