CGColorSpace.c revision a5728872c7702ddd09537c95bc3cbd20e1f2fb09
1// RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s 2// RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s 3// RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s 4// RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks -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