1 // RUN: %clang_analyze_cc1 -analyzer-checker=core,osx.cocoa.RetainCount,alpha.core -fblocks -analyzer-output=plist -o %t %s
2 // RUN: %normalize_plist <%t | diff -ub %S/Inputs/expected-plists/plist-output-alternate.m.plist -
4 void test_null_init(void) {
9 void test_null_assign(void) {
15 void test_null_assign_transitive(void) {
22 void test_null_cond(int *p) {
28 void test_null_cond_transitive(int *q) {
35 void test_null_field(void) {
36 struct s { int *p; } x;
41 // leak reports should not show paths that end with exit() (but ones that don't end with exit())
42 void panic(void) __attribute__((noreturn));
43 enum { kCFNumberSInt8Type = 1, kCFNumberSInt16Type = 2, kCFNumberSInt32Type = 3, kCFNumberSInt64Type = 4, kCFNumberFloat32Type = 5, kCFNumberFloat64Type = 6, kCFNumberCharType = 7, kCFNumberShortType = 8, kCFNumberIntType = 9, kCFNumberLongType = 10, kCFNumberLongLongType = 11, kCFNumberFloatType = 12, kCFNumberDoubleType = 13, kCFNumberCFIndexType = 14, kCFNumberNSIntegerType = 15, kCFNumberCGFloatType = 16, kCFNumberMaxType = 16 };
44 typedef const struct __CFAllocator * CFAllocatorRef;
45 extern const CFAllocatorRef kCFAllocatorDefault;
46 typedef signed long CFIndex;
47 typedef CFIndex CFNumberType;
48 typedef const struct __CFNumber * CFNumberRef;
50 extern CFNumberRef CFNumberCreate(CFAllocatorRef allocator, CFNumberType theType, const void *valuePtr);
52 void rdar8331641(int x) {
54 CFNumberRef value = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &z); // expected-warning{{leak}}