]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Analysis/CGColorSpace.c
Update clang to r96341.
[FreeBSD/FreeBSD.git] / test / Analysis / CGColorSpace.c
1 // RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks -analyzer-check-objc-mem -analyzer-store=basic -analyzer-constraints=basic -verify %s
2 // RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks -analyzer-check-objc-mem -analyzer-store=basic -analyzer-constraints=range -verify %s
3 // RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks -analyzer-check-objc-mem -analyzer-store=region -analyzer-constraints=basic -verify %s
4 // RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks -analyzer-check-objc-mem -analyzer-store=region -analyzer-constraints=range -verify %s
5
6 typedef struct CGColorSpace *CGColorSpaceRef;
7 extern CGColorSpaceRef CGColorSpaceCreateDeviceRGB(void);
8 extern CGColorSpaceRef CGColorSpaceRetain(CGColorSpaceRef space);
9 extern void CGColorSpaceRelease(CGColorSpaceRef space);
10
11 void f() {
12   CGColorSpaceRef X = CGColorSpaceCreateDeviceRGB(); // expected-warning{{leak}}
13   CGColorSpaceRetain(X);
14 }
15
16 void fb() {
17   CGColorSpaceRef X = CGColorSpaceCreateDeviceRGB();
18   CGColorSpaceRetain(X);
19   CGColorSpaceRelease(X);
20   CGColorSpaceRelease(X);  // no-warning
21 }