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