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