1 //C test()2void test() { 3 void (*foo)(void); 4 foo = 0; 5 foo(); // warn: function pointer is null 6 } 7 8 // C++ 9 class C { 10 public: 11 void f(); 12 }; 13 test()14 void test() { 15 C *pc; 16 pc->f(); // warn: object pointer is uninitialized 17 } 18 19 // C++ 20 class C { 21 public: 22 void f(); 23 }; 24 test()25 void test() { 26 C *pc = 0; 27 pc->f(); // warn: object pointer is null 28 } 29 30 // Objective-C 31 @interface MyClass : NSObject property(readwrite,assign)32 @property (readwrite,assign) id x; 33 - (long double)longDoubleM; 34 @end 35 36 void test() { 37 MyClass *obj1; 38 long double ld1 = [obj1 longDoubleM]; 39 // warn: receiver is uninitialized 40 } 41 42 // Objective-C 43 @interface MyClass : NSObject property(readwrite,assign)44 @property (readwrite,assign) id x; 45 - (long double)longDoubleM; 46 @end 47 48 void test() { 49 MyClass *obj1; 50 id i = obj1.x; // warn: uninitialized object pointer 51 } 52 53 // Objective-C 54 @interface Subscriptable : NSObject 55 - (id)objectAtIndexedSubscript:(unsigned int)index; 56 @end 57 58 @interface MyClass : Subscriptable property(readwrite,assign)59 @property (readwrite,assign) id x; 60 - (long double)longDoubleM; 61 @end 62 63 void test() { 64 MyClass *obj1; 65 id i = obj1[0]; // warn: uninitialized object pointer 66 } 67